Skip to content
/ glmtools Public

Tools for interacting with the General Lake Model (GLM) in R

License

Notifications You must be signed in to change notification settings

GLEON/glmtools

Repository files navigation

glmtools

status

Build status Build Status

Tools for interacting with the General Lake Model (GLM) in R. glmtools includes some basic functions for calculating physical derivatives and thermal properties of model output, and some plotting functionality (see example image below).

glmtools Functions (as of v0.2.5.2)

Package Topic Title
glmtools calibrate_sim Calibrates GLM-AED2 variables to improve fit between observed and simulated data
glmtools compare_to_field compare metric for GLM vs field observations
glmtools convert_sim_var convert an existing simulation variable into a different one
glmtools epi.temperature Get volumetrically averaged epilimnion temp
glmtools get_calib_init_validation Get last values from a calibration period to be used for the validation
glmtools get_calib_periods Splits time period into calibration and validation period
glmtools get_calib_setup Creates an example setup for a calibration run
glmtools get_evaporation get evaporation from GLM simulation
glmtools get_hypsography retrieve hypsography information
glmtools get_ice get ice depth from GLM simulation
glmtools get_nml_value gets a nml value according to an arg_name
glmtools get_raw get raw data from GLM simulation
glmtools get_surface_height get surface height from GLM simulation
glmtools get_temp get water temperatures from a GLM simulation
glmtools get_var get variable from a GLM simulation
glmtools get_wind get wind speed from GLM simulation
glmtools hypo.temperature Get volumetrically averaged hypolimnion temp
glmtools plot_compare_stage Plot simulated and observed stage data
glmtools plot_meteo Plot meterological drivers from a csv file
glmtools plot_temp Deprecated. Plot water temperatures from a GLM simulation
glmtools plot_temp_compare Deprecated. Plot matching heatmaps for modeled and observed temp
glmtools plot_validate_profiles Plot validation and model temperature profiles for all unique dates
glmtools plot_var_compare Plot matching heatmaps for modeled and observed temp
glmtools plot_var_df Plot variables from a data frame
glmtools plot_var_nc Plot variables from a .nc file
glmtools read_field_obs Read in field data into a data.frame
glmtools read_field_stage Read in a field stage file
glmtools read_nml read in a GLM simulation *.nml file
glmtools resample_sim get subset of time from a generic timeseries data.frame
glmtools resample_to_field Match GLM water temperatures with field observations
glmtools run_example_sim Run example simulation
glmtools set_nml sets values in nml object
glmtools sim_metrics get possible metrics for comparing GLM outputs to field
glmtools sim_var_longname Get long name of variable from a GLM simulation
glmtools sim_var_units Get units of variable from a GLM simulation
glmtools sim_vars Get list of variables from a GLM simulation
glmtools summarize_sim Creates GLM simulation summary outputs
glmtools validate_sim Run diagnostics on model results vs observations
glmtools water.temperature Mimic rLakeAnalyzer function
glmtools whole.lake.temperature Get volumetrically averaged whole lake temperature
glmtools write_nml write GLM .nml for a GLM simulation

FAQ

How do I install glmtools? It isn’t on CRAN!

install.packages('remotes')
remotes::install_github('usgs-r/glmtools')

How do I contribute new code back to the glmtools project?

In order to contribute to this code, we recommend the following workflow:

  1. “fork” this repository to your own personal github account

  2. clone the github repository to your computer:

    $git clone https://github.com/{username}/glmtools.git

  3. modify code or add new functionality, save the code

  4. add the repository master to a remote master called “upstream”

    $cd glmtools

    $git remote add upstream https://github.com/USGS-R/glmtools.git

  5. before pushing your changes to your repository, pull in the current version of the GLEON master:

    $git fetch upstream

  6. merge these differences with your own “master” version:

    $git merge upstream/master

  7. push your changes to your github repository, in addition to changes made by pulling in the GLEON master:

    $git push

  8. submit a pull request to GLEON master using your account at github.com