Problem in Running GLM3r in R

159 views
Skip to first unread message

Reden Armand Mallare

unread,
Nov 14, 2020, 1:28:05 AM11/14/20
to Aquatic Ecosystem MOdelling Network (AEMON) discussion forum
Hi Everyone, 

Good day!

I am currently studying on how to use GLM in R. I found this tutorial which I am currently following: https://serc.carleton.edu/eddie/macrosystems/module1 

I am using the following R version:
> R.version
               _                           
platform       x86_64-w64-mingw32          
arch           x86_64                      
os             mingw32                     
system         x86_64, mingw32             
status                                     
major          4                           
minor          0.2                         
year           2020                        
month          06                          
day            22                          
svn rev        78730                       
language       R                           
version.string R version 4.0.2 (2020-06-22)
nickname       Taking Off Again 

However, since the tutorial was made for GLM version lower than GLM3r, there are some warnings shown when I ran the model. Note that I am already using an nml file suited for GLM 3.0 (which I downloaded from the GLM website directly and just edited to suit my example lake). 

1st warning is when I try to plot the given met files (see image 1).

The model finished simulation when I try the "run_glm(sim_folder, verbose=TRUE)" command.


Reading config from glm3.nml
No WQ config
values for crest_elev not provided, assuming max elevation, H[bsn]
VolAtCrest= 128962363.28125, and Max Lake Vol= 128962363.28125 (m3)
No snow and ice section, setting default parameters and assuming no snowfall
No sediment section, turning off sediment heating
WARNING: Initial profiles problem - expected 0 wd_init_vals entries but got 6
       ----------------------------------------------------
       |  General Lake Model (GLM)   Version 3.0.5        |
       ----------------------------------------------------
glm built using MSC version 1916
nDays 152 timestep 3600.000000
Maximum lake depth is 100.000000
Depth where flow will occur over the crest is 100.000000
*starting sediment =    5.00000
*starting sediment =    0.10000
Wall clock start time :  Sat Nov 14 14:09:47 2020
Simulation begins...
Running day  2457296, 100.00% of days complete
Wall clock finish time : Sat Nov 14 14:09:48 2020
Wall clock runtime 1 seconds : 00:00:01 [hh:mm:ss]

------------------------------------------------
              Run Complete
[1] 0

After running the model, the next instruction is to enter: "baseline <- file.path(sim_folder, 'output/output.nc')"

Then, "surf_temp <- get_var(file=baseline, "temp", reference='surface', z_out=c(1))"
And this warning message pops up:

Warning messages:
1: In strptime(xx, f, tz = tz) : unknown timezone 'Etc/GMT--8'
2: In as.POSIXct.POSIXlt(x) : unknown timezone 'Etc/GMT--8'
3: In strptime(x, f, tz = tz) : unknown timezone 'Etc/GMT--8'
4: In as.POSIXct.POSIXlt(as.POSIXlt(x, tz, ...), tz, ...) :
  unknown timezone 'Etc/GMT--8'
5: In strptime(xx, f, tz = tz) : unknown timezone 'Etc/GMT--8'
6: In as.POSIXct.POSIXlt(x) : unknown timezone 'Etc/GMT--8'
7: In strptime(x, f, tz = tz) : unknown timezone 'Etc/GMT--8'
8: In as.POSIXct.POSIXlt(as.POSIXlt(x, tz, ...), tz, ...) :
  unknown timezone 'Etc/GMT--8'



Does anybody know how to fix the issue?

Also, when I try to view the output csv in the output folder and import it as dataframe, R cannot read the correct date format. I tried modifying it as %Y-%m-%d %H:%M but it still cannot read the date column (see images 2 and 3).

That is all for now. I hope someone can help me. Thank you in advance. 





2.PNG
1.PNG
3.PNG

Tadhg Moore

unread,
Nov 16, 2020, 10:25:16 AM11/16/20
to Aquatic Ecosystem MOdelling Network (AEMON) discussion forum

Hello,

The warnings you get for the meteo file are potentially related to the format it is in. I would recommend inspecting in Excel and formatting to ensure that it is the "YYYY-MM-DD HH:MM:SS" format. 

The warning when loading the surface temperature looks like it is related to the timezone set on your computer. I would recommend adding 
Sys.setenv(TZ = "UTC") 
to the beginning of your script. 

This could also be the reason why you cannot read in the csv output file. 

This module is more suited for learning about how climate change affects lakes and not so much about learning the intricacies of the GLM model. And it has been tested and runs with the GLMr version provided in the example folder. It looks like you are using a different version of glmtools for this activity so I would point you towards these learning materials which demonstrate GLM3r and also the newer version of glmtools:  https://github.com/robertladwig/GLM_workshop
Also there is a GLM Slack for questions that would be a good place to ask questions and find out more about GLM. You can join here: https://join.slack.com/t/general-lake-model/shared_invite/zt-a7pyrxhj-oe4dYm6oLQfk1r_ZGLFTwQ

If you are still running into problems it would be great if you could share your folder setup and/or your output files so I could inspect them closer and try and replicate your issue.

Cheers,
Tadhg

Rania Tlili

unread,
Feb 10, 2023, 4:52:15 AM2/10/23
to Aquatic Ecosystem MOdelling Network (AEMON) discussion forum

Bonjour, je suis face au même problème, cependant la date est sur la bonne forme je ne comprends pas Qu’est-ce que output.nc

Erreur dans R_nc4_open : Aucun fichier ou répertoire de ce type Erreur dans nc_open(fichier, readunlim = VRAI) : Erreur lors de nc_open tentative d’ouverture du fichier D:/logiciels/R-4.2.2/library/GLM3r/extdata/output.nc (return_on_error= FAUX 



Le lundi 16 novembre 2020 à 16:25:16 UTC+1, Tadhg Moore a écrit :

Bonjour

Les avertissements que vous recevez pour le fichier météo sont potentiellement liés au format dans lequel il se trouve. Je recommanderais d’inspecter dans Excel et de formater pour s’assurer qu’il s’agit du format « AAAA-MM-JJ HH:MM:SS ».

L’avertissement lors du chargement de la température de surface semble être lié au fuseau horaire défini sur votre ordinateur. Je recommanderais d’ajouter
Sys.setenv(TZ = « UTC »)
au début de votre script.

Cela peut également être la raison pour laquelle vous ne pouvez pas lire dans le fichier de sortie csv.

Ce module est plus adapté pour apprendre comment le changement climatique affecte les lacs et pas tellement sur l’apprentissage des subtilités du modèle GLM. Et il a été testé et fonctionne avec la version GLMr fournie dans le dossier d’exemple. Il semble que vous utilisiez une version différente de glmtools pour cette activité, donc je vous dirigerais vers ces supports d’apprentissage qui démontrent GLM3r et aussi la nouvelle version de glmtools: https://github.com/robertladwig/GLM_workshop
Il existe également un GLM Slack pour les questions qui serait un bon endroit pour poser des questions et en savoir plus sur GLM. Vous pouvez vous inscrire ici: https://join.slack.com/t/general-lake-model/shared_invite/zt-a7pyrxhj-oe4dYm6oLQfk1r_ZGLFTwQ

Si vous rencontrez toujours des problèmes, ce serait formidable si vous pouviez partager la configuration de votre dossier et / ou vos fichiers de sortie afin que je puisse les inspecter de plus près et essayer de reproduire votre problème.

À votre santé
Tadhg

Le samedi 14 novembre 2020 à 1:28:05 UTC-5 redsm...@gmail.com a écrit :
Bonjour à tous,

Bonne journée!

J’étudie actuellement comment utiliser GLM dans R. J’ai trouvé ce tutoriel que je suis actuellement: https://serc.carleton.edu/eddie/macrosystems/module1 

J’utilise la version R suivante :
> R.version
               _                           
Plate-forme x86_64-W64-MingW32
Arche x86_64
OS mingw32
x86_64 système, mingw32
statut
Majeure 4
mineur 0,2
Année 2020
Mois 06
Jour 22
SVN rev 78730
langage R
version.string R version 4.0.2 (2020/06/22)
surnom Taking Off Again

Cependant, comme le tutoriel a été conçu pour une version GLM inférieure à GLM3r, certains avertissements s’affichent lorsque j’ai exécuté le modèle. Notez que j’utilise déjà un fichier nml adapté à GLM 3.0 (que j’ai téléchargé directement depuis le site GLM et que je viens de modifier pour l’adapter à mon exemple de lac).

Le 1er avertissement est lorsque j’essaie de tracer les fichiers met donnés (voir image 1).

Le modèle a terminé la simulation lorsque j’ai essayé la commande « run_glm(sim_folder, verbose=TRUE) ».


Lecture de la configuration à partir de glm3.nml
Pas de configuration WQ
valeurs pour crest_elev non fournies, en supposant l’altitude maximale, H[bsn]
VolAtCrest = 128962363.28125, et Max Lake Vol= 128962363.28125 (m3)
Pas de section de neige et de glace, définition des paramètres par défaut et en supposant qu’il n’y ait pas de chutes de neige
Pas de section de sédiments, arrêt du chauffage des sédiments
AVERTISSEMENT : Problème de profils initiaux - 0 wd_init_vals entrées attendues mais 6 entrées
       ----------------------------------------------------
| Modèle général du lac (GLM) version 3.0.5 |
       ----------------------------------------------------
glm construit à l’aide de MSC version 1916
nDays 152 timestep 3600.000000
La profondeur maximale du lac est de 100.000000
La profondeur où l’écoulement se produira sur la crête est de 100,000000
*sédiments de départ = 5,00000
*sédiments de départ = 0,10000
Heure de début de l’horloge murale : Sam Nov 14 14:09:47 2020
La simulation commence...
Jour de fonctionnement 2457296, 100,00% des jours terminés
Heure de fin de l’horloge murale : Sam Nov 14 14:09:48 2020
Durée d’exécution de l’horloge murale 1 secondes : 00:00:01 [hh:mm:ss]

------------------------------------------------
Exécution terminée
[1] 0

Après avoir exécuté le modèle, l’instruction suivante consiste à entrer: « baseline <- file.path(sim_folder, 'output/output.nc')"

Ensuite, « surf_temp <- get_var(file=baseline, « temp », reference='surface', z_out=c(1)) »
Et ce message d’avertissement apparaît:

Messages d’avertissement :
1: Dans strptime(xx, f, tz = tz) : fuseau horaire inconnu 'Etc/GMT--8'
2: En as. POSIXct.POSIXlt(x) : fuseau horaire inconnu 'Etc/GMT--8'
3: Dans strptime(x, f, tz = tz) : fuseau horaire inconnu 'Etc/GMT--8'
4: En as. POSIXct.POSIXlt(as. POSIXlt(x, tz, ...), tz, ...) :
fuseau horaire inconnu 'Etc/GMT--8'
5: Dans strptime(xx, f, tz = tz) : fuseau horaire inconnu 'Etc/GMT--8'
6: En as. POSIXct.POSIXlt(x) : fuseau horaire inconnu 'Etc/GMT--8'
7: Dans strptime(x, f, tz = tz) : fuseau horaire inconnu 'Etc/GMT--8'
8: En as. POSIXct.POSIXlt(as. POSIXlt(x, tz, ...), tz, ...) :
fuseau horaire inconnu 'Etc/GMT--8'



Est-ce que quelqu’un sait comment résoudre le problème?

En outre, lorsque j’essaie d’afficher le fichier csv de sortie dans le dossier de sortie et de l’importer en tant que dataframe, R ne peut pas lire le format de date correct. J’ai essayé de le modifier en %Y-%m-%d %H:%M mais il ne peut toujours pas lire la colonne de date (voir images 2 et 3).

C’est tout pour l’instant. J’espère que quelqu’un pourra m’aider. Merci d’avance.





Reply all
Reply to author
Forward
0 new messages