{"id":76692,"name":"The Global Environmental Multiscale Model","description":"An integrated forecasting and data assimilation system developed by the Atmospheric Numerical Prediction Research Section, Meteorological Research Division, of Environment and Climate Change Canada.","url":"https://github.com/eccc-astd-mrd/gem","last_synced_at":"2026-06-13T02:00:47.324Z","repository":{"id":37805365,"uuid":"368338469","full_name":"ECCC-ASTD-MRD/gem","owner":"ECCC-ASTD-MRD","description":"The Global Environmental Multiscale (GEM) model is a numerical weather prediction model developed by the Meteorological Research Division of Environment and Climate Change Canada.","archived":false,"fork":false,"pushed_at":"2026-06-01T20:06:15.000Z","size":15726,"stargazers_count":27,"open_issues_count":6,"forks_count":9,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-06-06T23:03:02.623Z","etag":null,"topics":["meteorology","numerical-weather-prediction","nwp"],"latest_commit_sha":null,"homepage":"","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ECCC-ASTD-MRD.png","metadata":{"files":{"readme":"README-install.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-05-17T22:36:14.000Z","updated_at":"2026-05-23T11:21:19.000Z","dependencies_parsed_at":"2026-01-20T05:04:50.281Z","dependency_job_id":"e5386214-ca69-45fd-9a22-62302e72e87c","html_url":"https://github.com/ECCC-ASTD-MRD/gem","commit_stats":{"total_commits":371,"total_committers":5,"mean_commits":74.2,"dds":0.6253369272237197,"last_synced_commit":"4459094e48faddb616440c199537b5298d9b90d2"},"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"purl":"pkg:github/ECCC-ASTD-MRD/gem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-ASTD-MRD%2Fgem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-ASTD-MRD%2Fgem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-ASTD-MRD%2Fgem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-ASTD-MRD%2Fgem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ECCC-ASTD-MRD","download_url":"https://codeload.github.com/ECCC-ASTD-MRD/gem/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-ASTD-MRD%2Fgem/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34269364,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"ECCC-ASTD-MRD","name":"Meteorological Research Informatics Services","uuid":"11772263","kind":"organization","description":"","email":"service.rpn@ec.gc.ca","website":"http://collaboration.cmc.ec.gc.ca/science/si/","location":"Canada","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/11772263?v=4","repositories_count":6,"last_synced_at":"2023-03-01T12:25:22.636Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ECCC-ASTD-MRD","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-12T10:01:20.678Z","updated_at":"2023-03-01T12:25:22.649Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ECCC-ASTD-MRD","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ECCC-ASTD-MRD/repositories"},"packages":[],"commits":{"id":1254404,"full_name":"ECCC-ASTD-MRD/gem","default_branch":"master","total_commits":372,"total_committers":5,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":74.4,"dds":0.6236559139784946,"past_year_total_commits":1,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.0,"past_year_dds":0.0,"last_synced_at":"2026-06-11T01:01:24.292Z","last_synced_commit":"95f10dc539226a2f193a6dd657b605f5ec28adb0","created_at":"2023-03-27T11:37:31.933Z","updated_at":"2026-06-11T01:00:51.687Z","committers":[{"name":"Chantal Pic","email":"chantal.pic@ec.gc.ca","login":"chantal-pic","count":140},{"name":"Samuel Gilbert","email":"samuel.gilbert@canada.ca","login":"eccc-samuel-gilbert","count":135},{"name":"Stéphane Gaudreault","email":"stephane.gaudreault2@canada.ca","login":null,"count":95},{"name":"Mike Neish","email":"Michael.Neish@canada.ca","login":"neishm","count":1},{"name":"Jean-Francois Cossette","email":"jean-francois.cossette@ec.gc.ca","login":null,"count":1}],"past_year_committers":[{"name":"Chantal Pic","email":"chantal.pic@ec.gc.ca","login":"chantal-pic","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-ASTD-MRD%2Fgem/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-13T00:00:12.063Z","repositories_count":6257686,"commits_count":882284355,"contributors_count":35075514,"owners_count":1165692,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"ECCC-ASTD-MRD/gem","html_url":"https://github.com/ECCC-ASTD-MRD/gem","last_synced_at":"2026-06-11T01:00:48.820Z","status":"error","issues_count":10,"pull_requests_count":2,"avg_time_to_close_issue":21536786.6,"avg_time_to_close_pull_request":597293.0,"issues_closed_count":5,"pull_requests_closed_count":2,"pull_request_authors_count":2,"issue_authors_count":6,"avg_comments_per_issue":1.4,"avg_comments_per_pull_request":0.5,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.3333333333333333,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:36:04.858Z","updated_at":"2026-06-11T01:00:48.820Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-ASTD-MRD%2Fgem","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-ASTD-MRD%2Fgem/issues","issue_labels_count":{"enhancement":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":7,"CONTRIBUTOR":3},"pull_request_author_associations_count":{"CONTRIBUTOR":2},"issue_authors":{"grantcurell":3,"ghost":2,"neishm":2,"csubich":1,"saeed-rayegan":1,"BirdOfChaos":1},"pull_request_authors":{"BirdOfChaos":1,"neishm":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-13T00:00:21.539Z","repositories_count":14793354,"issues_count":33221519,"pull_requests_count":109519788,"authors_count":11303305,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":3},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{"grantcurell":3},"past_year_pull_request_authors":{},"maintainers":[],"active_maintainers":[]},"events":{"total":{"ReleaseEvent":1,"ForkEvent":2,"IssuesEvent":3,"WatchEvent":5,"IssueCommentEvent":1,"PushEvent":10,"CreateEvent":6},"last_year":{"ReleaseEvent":1,"ForkEvent":1,"IssuesEvent":3,"WatchEvent":2,"IssueCommentEvent":1,"PushEvent":5,"CreateEvent":1}},"keywords":["meteorology","numerical-weather-prediction","nwp"],"dependencies":[],"score":5.10594547390058,"created_at":"2023-09-19T00:02:31.812Z","updated_at":"2026-06-13T02:00:47.327Z","avatar_url":"https://github.com/ECCC-ASTD-MRD.png","language":"Fortran","category":"Climate Change","sub_category":"Earth and Climate Modeling","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Instructions in a nutshell\n\n**The master branch is the current development version of GEM, presently 5.2.**\n\n# At CMC only (internal users)\n\n```\nClone gem repository\ncd gem\ngit checkout master\n\n./scripts/link-dbase.sh\n. ./.eccc_setup_intel\n# or, if you want to compile with GNU compiler suite:\n. ./.eccc_setup_gnu\nBefore the first build:\n. ./.initial_setup\n\n# building and installing GEM\n# please see other options with cado -h or by using tab completion\ncado cmake\ncado -j work\n\n# running GEM: example\ncd $GEM_WORK\nrunprep.sh -dircfg configurations/GEM_cfgs_LU_FISL_H\nrunmod.sh -dircfg configurations/GEM_cfgs_LU_FISL_H\n```\n\n# Outside CMC (external users)\n\n**See below for extended instructions.**\n\n## Requirements\n\nTo compile and run GEM, you will need:\n- Fortran and C compilers\n- An MPI implementation such as OpenMPI (with development package),\n- OpenMP support (optional)\n- (BLAS,LAPACK) or equivalent mathematical/scientific library (ie: MKL), with development package,\n- fftw3 library (with development package),\n- basic Unix utilities such as cmake (version 3.20 minimum), bash, sed, etc.\n\n```\n# clone everything, including libraries and tools included as git submodules\ngit clone --recursive https://github.com/ECCC-ASTD-MRD/gem.git\ncd gem\n# Default branch should be master, otherwise check it out:\ngit checkout master\n\n# If you cloned without the --recursive option above, update submodules:\ngit submodule update --init --recursive\n\n# Download the data files required to run GEM\n./download-dbase.sh .\n\n# Important: in order to set environment variables needed to run GEM, use the\n# following setup file, after setting up your compiler environment:\n. ./.common_setup gnu\n# or\n. ./.common_setup intel\n\t\n# Method 1 - Create a build directory\n# The build directory has very little value in itself and can be placed\n# outside the project directory\nmkdir -p build\ncd build\n# default compiler is gnu\ncmake ..\n# Create an execution environment for GEM\nmake -j work\n\n# Method 2 - Alternatively, you can use a script that will create a build\n# and work directory named after the computer operating system and the\n# compiler suite used, without having to create a build directory as\n# mentioned in Method 1 above.  In that case, you can then use the cado\n# script, using the commands cado cmake and cado work -j directly, without\n# having to move to the build directory:\n# in the main directory:\n. ./.initial_setup\ncado cmake\ncado work -j\n\n# Either with Method 1 or 2, you should now have a work directory in the\n# main directory of gem, created with a name in the form of: \n# work-[OS_NAME]-[COMPILER_NAME]\ncd work-[OS_NAME]-[COMPILER_NAME]\nor \ncd $GEM_WORK\n\n# Configure the model with one of the configurations\n# and execute the model, for example:\nrunprep.sh -dircfg configurations/GEM_cfgs_GY_FISL_P\nrunmod.sh -dircfg configurations/GEM_cfgs_GY_FISL_P\n\n# use tools to see list the records in the output files\nvoir -iment RUNMOD/output/cfg0000/ ...\nfststat -fst RUNMOD/output/cfg0000/ ...\n```\n\n[SPI](https://github.com/ECCC-ASTD-MRD/SPI-Bundle) can be used to view the output\nfiles.\n\n2D fields can also be displayed with\n[xrec](https://github.com/ECCC-ASTD-MRD/xrec)\n\n-----------------------------------------------------------------\n# Extended instructions:\n\n## Requirements\n\nTo compile and run GEM, you will need:\n- Fortran and C compilers\n- An MPI implementation such as OpenMPI (with development package),\n- OpenMP support (optional)\n- (BLAS,LAPACK) or equivalent mathematical/scientific library (ie: MKL), with development package,\n- fftw3 library (with development package),\n- basic Unix utilities such as cmake (version 3.20 minimum), bash, sed, etc.\n\n## Data for examples\n\nAfter having cloned or downloaded the git tar file of GEM from\n[github.com](https://github.com/ECCC-ASTD-MRD/gem), execute the script named\n**download-dbase.sh** or download and untar the data archive with the following\nlink:\n[http://collaboration.cmc.ec.gc.ca/science/outgoing/goas/gem_dbase.tar.gz](http://collaboration.cmc.ec.gc.ca/science/outgoing/goas/gem_dbase.tar.gz)\n\n## Compiler specifics\n\n### GNU compiler suite\n- By default GEM is configured to use gfortran and gcc compilers, and OpenMPI\n- Changes to the C and Fortran flags can be done in the  **CMakeLists.txt**\n  file, under the section **# Adding specific flags for GEM**.\n- You can also check  the C and Fortran flags in **cmake_rpn/modules/ec_compiler_presets/default/Linux-x86_64/gnu.cmake**\n- Make sure the compilers and libraries paths are set in the appropriate\n  environment variables (PATH and LD_LIBRARY_PATH).  Here are some examples\n  of commands, which you will need to adapt for your setup:\n  - On Ubuntu:\n  \n```\n    export PATH=/usr/lib/openmpi/bin:${PATH}\n    export LD_LIBRARY_PATH=/usr/lib/openmpi/lib:$LD_LIBRARY_PATH\n# or\n    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/openmpi/lib:$LD_LIBRARY_PATH\n```\n\n  - On Fedora:\n```\n    export PATH=/usr/lib64/openmpi/bin:$PATH\n    export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH\n```\n\n### Intel compiler suite\n\n- Changes to the C and Fortran flags can be done in the  **CMakeLists.txt**\n  file, under the section **# Adding specific flags for GEM**.\n- You can also check  the C and Fortran flags in **cmake_rpn/modules/ec_compiler_presets/default/Linux-x86_64/intel.cmake**\n- You may need to modify ```-march``` to generate code that can run on your\n  system\n- Make sure the compilers and libraries are in the appropriate\n  environment variables (```PATH``` and ```LD_LIBRARY_PATH```)\n- As gnu is the default compiler suite, you may have to use the following\n  command to compile with Intel: ```cmake .. -DCOMPILER_SUITE=intel```\n\n## Compiling and installing GEM\n\nYou can add extra CMake arguments such as```-DCMAKE_VERBOSE_MAKEFILE=ON```.\nYou can also add ```-j``` to **make** to launch multiple compile tasks in\nparallel.\n\n[OpenMP](https://www.openmp.org/) is enabled by default.  If you wish to build\nwithout OpenMP support, you can add the ```-DWITH_OPENMP=OFF``` argument when\nrunning **cmake**.\n\nThe default compiler suite is GNU. If you want to compile with other compilers,\nadd ```-DCOMPILER_SUITE=\u003ccompiler suite name (gnu|intel|...)\u003e``` to the CMake\ncommand line.  \n\nThis release has been tested with GNU and Intel compilers on Linux x86_64.\nOther compilers have also been used in the past, but have not been tested\nwith the current release.  You will likely have to modify the *.cmake files\nin the **cmake_rpn/modules/ec_compiler_presets/default/** folder.\n\nIf you get error messages (for example, compiler, OpenMP or MPI/OpenMPI not\nfound), make sure that the ```PATH``` and ```LD_LIBRARY_PATH``` environment\nvariables contain the appropriate paths.  You can also add\n```-DCMAKE_VERBOSE_MAKEFILE=ON``` to your **cmake** command line to generate\nverbose makefiles which will print the exact compiler command lines issued.\n\nIf the compiler or compile options are not right:\n\n- Remove the content of the build directory\n- Make appropriate changes to the cmake files corresponding to the\n  compilers you are using\n- Re-launch the commands starting at cmake\n\nThe installation process will create a directory named after the operating system\non which the compilation was executed, and the compiler you used\n(work-[OS_NAME]-[COMPILER_NAME]). For example\n*work-FedoraLinux-37-x86_64-gnu-12.3.1* would be created in the main directory,\nand the following executables installed in the *bin* sub-folder: \n\n- cclargs_lite\n- checkdmpart\n- editfst\n- feseri\n- flipit\n- fstcomp\n- fststat\n- gem_monitor_end\n- gem_monitor_output\n- gemgrid\n- maingemdm\n- pgsm\n- prgemnml\n- prphynml\n- r.fstinfo\n- r.filetype\n- voir\n- yy2global\n\nA script named gem-config is also installed. It displays a summary of the\narchitecture, compiler, and flags used.\n\n## Structure of the working environment\n\nThe following environment variables are created:\n- gem_DIR = directory where the git clone was created\n- GEM_WORK = work directory\n- GEM_ARCH = architecture, for example FedoraLinux-37-x86_64-gnu-12.3.1\n- ATM_MODEL_DFILES = gem database directory\n- COMPILER_SUITE = compiler suite, for example gnu\n- COMPILER_VERSION = compiler version, for example 12.3.1\n\n## Running GEM\n\nGo to the working directory, named *work-[OS_NAME]-[COMPILER_NAME]*, for\nexample *work-FedoraLinux-37-x86_64-gnu-12.3.1*\n\n```\ncd work-[OS_NAME]-[COMPILER_NAME]\nor\ncd $GEM_WORK\n# Configure and execute the model for a specific case, for example:\nrunprep.sh -dircfg configurations/GEM_cfgs_GY_FISL_P\nrunmod.sh -dircfg configurations/GEM_cfgs_GY_FISL_P\n```\n\n*runmod.sh* ```-ptopo``` argument can be used to specify the number of CPU to\nuse.  For example,  ```-ptopo 2x2x1``` will use 4 cpus for a LAM, and\n8 cpus for global Yin-Yang.\n\n*Do not use runprep.sh for theoretical configurations, use only runmod.sh.*\n\nIf you get an error message saying runprep.sh or gem_dbase is not found,\nmake sure to set the environment variables using the setup file situated in\nthe main directory:\n\n```\n./.common_setup gnu\n# or\n./.common_setup intel\n```\n\nAn in-house script (**r.run_in_parallel**) is used to run the model. If you\nwant to use another command, or if it doesn't work in your environment, edit\nthe file *scripts/gem_mpirun.sh* to change the script, or move the file\n*scripts/r.run_in_parallel* so that the model is run with mpirun directly.\n\nSee **README.run** in the doc directory for other information on the different configurations.\n\n## Working with model outputs\n\nThe model stores its outputs in FST files.  The following tools can be used to perform\nvarious tasks on the output files:\n\n- ```voir``` lists the records in FST files:\n\n  ```\n  voir -iment RUNMOD.dir/output/cfg0000/laststep0000000024/000-000/dm2009042700-000-000010\n  ```\n\n- ```fststat``` produces statistical means of the records in a FST file:\n\n  ```\n  fststat -fst RUNMOD.dir/output/cfg0000/laststep0000000024/000-000/dm2009042700-000-000010\n  ```\n\n- ```pgsm``` can be used to interpolate records to a different grid:\n\n  ```\n  pgsm -iment \u003cinput FST\u003e -ozsrt \u003coutput FST\u003e -i \u003cpgsm.directives\u003e\n  ```\n\n- ```editfst``` enables basic record manipulations, such as copying to another\n    file:\n\n  ```\n  editfst -s \u003cinput FST\u003e -d \u003coutput FST\u003e -i \u003ceditfst.directives\u003e\n  ```\n\n[SPI](https://github.com/ECCC-ASTD-MRD/SPI-Bundle) is a scientific and\nmeteorological virtual globe offering processing, analysis and visualization\ncapabilities, with a user interface similar to Google Earth and NASA World\nWind, developed by Environment Canada.\n\n[xrec](https://github.com/ECCC-ASTD-MRD/xrec) is another visualization\nprogram which can be used to display 2D meteorological fields stored in the\nFST files, developed by Research Informatics Services, Meteorological\nResearch Division, Environment and Climate Change Canada.\n\n## Configurations files\n\nThe execution of all three components of GEM is configurable through the use\nof three configuration files called:\n- gem_settings.nml: file containing some namelists to configure the model execution\n- outcfg.out: file used to configure the model output\n- configexp.cfg: file used to configure the execution shell environment\n\nExamples of these files can be found in the test cases in the configurations\ndirectory.\n\nA fourth configuration file, named physics_input_table, is used for GEM_cfgs\ntest cases.\n\n## Running your own configuration\n\nPut the three configurations files (gem_settings.nml, outcfg.out and\nconfigexp.cfg) in a directory structure such as: **experience/cfg_0000** in\nthe configurations directory.\n\nThe master directory name (**experience** in the example above) can be\nany valid directory name. However, the second directory must have the name\n\\textit{cfg\\_0000}.\n\nThen run the two scripts with the following commands, to prepare the input,\nand then run the model:\n\n```\ncd work-[OS_NAME]-[COMPILER_NAME]\nrunprep.sh -dircfg configurations/experience\nrunmod.sh -dircfg configurations/experience\n```\n\n## Modifying the grid and getting meteorological data\n\nYou can use the script named *grille* in the *scripts* directory to define\nyour own grid and visualise it with SPI (see above how to get it).\n\nFor this, copy one of the *gem_settings.nml* files located in the different\nconfigurations directories, edit it, and then run the command:\n\n```\ngrille -spi\n```\n\nIf you want geophysical fields and historical meteorological data for the\nregion you defined in that new grid, contact us.\n\n## Other Utilities\n\n### pgsm\n\npgsm is a utility designed to perform horizontal interpolations and basic\narithmetic operations on RPN standard files.\n\nInput files must be RPN standard files. Output files may be RPN standard\nfiles (random or sequential), binary FORTRAN sequential files, or formatted\nASCII files.\n\nPGSM can:\n\n- Interpolate data on various geographical projections, compressed or not.\n- Interpolate wind components UU and VV with respect to the scale and orientation of the output grid.\n- Perform symmetric or antisymmetric extrapolations from an hemispheric grid.\n- Compute thicknesses between 2 levels.\n- Compute precipitation amounts between 2 forecast hours.\n- Extract low, mid and high clouds.\n- Perform mathematical operations on one field or more.\n- Compute latitudes and longitudes from the X-Y coordinates of a grid.\n- Read navigational records of latitudes-longitudes (grid type Y) or\n  grid coordinates (grid type Z) in an input or output file and interpolate\n  values from these coordinates.\n\nExample:\n\n````\npgsm -iment \u003cinput FST\u003e -ozsrt \u003coutput FST\u003e -i \u003cpgsm.directives\u003e\n````\n\n### editfst\n\neditfst is a utility used for editing and copying records from RPN standard\nfiles into a new or an existing RPN standard file. It can do a straight\n(complete) copy of the input file or it can copy records selectively as\nindicated from the standard input or from a file of directives named in the\n-i option.\n\nExample:\n\n````\neditfst -s \u003cinput FST\u003e -d \u003coutput FST\u003e -i \u003ceditfst.directives\u003e\n````\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/76692","html_url":"https://ost.ecosyste.ms/projects/76692"}