Git Product home page Git Product logo

geoschem / gcclassic Goto Github PK

View Code? Open in Web Editor NEW
14.0 12.0 30.0 2.22 MB

This repository contains the "superproject" wrapper for the "Classic" configuration of the GEOS-Chem model of atmospheric chemistry and composition.

Home Page: https://geos-chem.readthedocs.io

License: Other

CMake 80.46% Dockerfile 3.30% Shell 12.94% Fortran 3.30%
aerosols atmospheric-chemistry atmospheric-composition atmospheric-modeling aws carbon-cycle climate cloud-computing fortran greenhouse-gases

gcclassic's Introduction

GEOS-Chem Logo


DOI

Description

This is the offical repository for GEOS-Chem Classic.

💡 Documentation: https://geos-chem.readthedocs.io

📖 Publications: GEOS-Chem on Google Scholar

About GEOS-Chem

GEOS-Chem is a global 3-D model of atmospheric chemistry driven by meteorological input from the Goddard Earth Observing System (GEOS) of the NASA Global Modeling and Assimilation Office. It is applied by research groups around the world to a wide range of atmospheric composition problems. Scientific direction of the model is provided by the international GEOS-Chem Steering Committee and by User Working Groups. The model is managed by the GEOS-Chem Support Team, based at Harvard University and Washington University with support from the US NASA Earth Science Division, the Canadian National and Engineering Research Council, and the Nanjing University of Information Sciences and Technology.

GEOS-Chem is a grass-roots open-access model owned by its users, and ownership implies some responsibilities as listed in our welcome page for new users.

gcclassic's People

Contributors

cdholmes avatar laestrada avatar liambindle avatar lizziel avatar msulprizio avatar williamdowns avatar yantosca avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gcclassic's Issues

Feature request: Update the docs/requirements.yml to avoid security issues w/ old python versions (used for ReadTheDocs)

Name and Institution (Required)

Name: Bob Yantosca
Institution: Harvard + GCST

Confirm you have reviewed the following documentation

New GCClassic feature or discussion

Dependabot found a security issue (https://github.com/geoschem/GCClassic/security/dependabot/1) caused by the version of jinja2 (used to generate ReadTheDocs documentation) having a security vulnerability.

The solution is to update the docs/requirements.txt from:

# Requirements for building the GCHP documentation
#
# NOTE: Use specific versions for Python packages instead of upper
# bounds.  Using an upper bound will not necessarily install the
# intended version if there already is a version that meets the
# criteria present in the Python environment.
#  -- Bob Yantosca and Lizzie Lundgren (30 Jun 2022)
#
# The following package versions have been proven to work together:
#
sphinx==3.5.4
sphinx-autobuild==2021.3.14
sphinx_rtd_theme==0.5.2
sphinxcontrib-bibtex==2.2.0
recommonmark
docutils==0.16
jinja2==3.0.3

to

# ======================================================================
# ReadTheDocs requirements file
#
# If you wish to install the dependencies for building the ReadTheDocs
# ReadTheDocs documentation from PyPI (the Python Package Index), use:
#
# $ pip install -r requirements.txt
# ======================================================================
sphinx==7.2.6
sphinx_rtd_theme==2.0.0
sphinxcontrib-bibtex==2.6.2
sphinx-autobuild==2021.3.14
recommonmark==0.7.1
docutils==0.20.1
jinja2==3.1.3

as we have already done for GCPy.

Errors while running the benchmark 1-month simulation

Name and Institution (Required)

Name: Gourav Saha
Institution: IIT Delhi

Confirm you have reviewed the following documentation

Description of your issue or question

After downloading all the necessary files for the benchmark 1 month simulation-20190701 to 20190801, this error is being shown:

HEMCO: Opening ./Restarts/GEOSChem.Restart.20190701_0000z.nc4

HEMCO ERROR: Cannot find field SPC_BUTDI. Please check variable name in the co
nfig. file

HEMCO ERROR: Error encountered in routine HCOIO_Read!

HEMCO ERROR: Error in HCOIO_DATAREAD called from HEMCO ReadList_Fill: SPC_BUTD
I
--> LOCATION: ReadList_Fill (HCO_ReadList_Mod.F90)

HEMCO ERROR: Error in called ReadList_Fill (7) from HEMCO ReadList_Read
--> L
OCATION: ReadList_Read (HCO_ReadList_Mod.F90)
Error in ReadList_Read called from hco_run

GEOS-Chem ERROR: Error encountered in "HCO_Run"!
-> at HCOI_GC_Run (in module GeosCore/hco_interface_gc_mod.F90)

THIS ERROR ORIGINATED IN HEMCO! Please check the HEMCO log file for
additional error messages!

===============================================================================
GEOS-Chem ERROR: Error encountered in "HCOI_GC_Run"!
-> at Emissions_Run (in module GeosCore/emissions_mod.F90)

===============================================================================
GEOS-CHEM ERROR: Error encountered in "Emissions_Run", Phase 0

This error can indicate a missing file. Please check the HEMCO log file for
additional error messages!

STOP at -> at GEOS-Chem (in GeosCore/main.F90)

[FEATURE REQUEST] Add documentation for modifying simulation settings

Name and Institution (Required)

Name: Melissa Sulprizio
Institution: Harvard / GCST

Confirm you have reviewed the following documentation

New GCClassic feature or discussion

We should add a section to Read the Docs with tips for customizing your GEOS-Chem simulation. This can include things like:

  • Switching between offline and online emissions: What's the difference between the two? What changes are needed in HEMCO_Config.rc and HEMCO_Diagn.rc?
  • Turning on/off certain options (e.g. sea salt debromination, nitrate photolysis, Luo wet dep, etc).
  • Nested-grid guide
  • Add more here!

[FEATURE REQUEST] Make adding/changing meterology source a run-time option

Name and Institution (Required)

Name: Lizzie Lundgren
Institution: Harvard University

New GCClassic feature or discussion

I am testing a new meteorology source in GC-Classic. In order to do this I need to change code in HEMCO and GEOS-Chem repositories and recompile. This is in addition to changing settings in geoschem_config.yml, HEMCO_Config.rc, and HEMCO_Config.rc.gmao_metfields, some of which are redundant. This is much more complicated than in GCHP which simply requires changing paths in ExtData.rc and rerunning.

I suggest that we take a look at how we handle meteorology inputs in GEOS-Chem Classic to see if we can make it a run-time option and with more flexibility and simplicity. I'll think about how to do this in preparation for adding GEOS-IT as a standard option in the model.

cmake GCClassic with spack,compile failed

Name and Institution (Required)

Name:
zhaohongyan
Institution:
School of Environment , Beijing Normal University

Confirm you have reviewed the following documentation

Description of your issue or question

  1. Build required software with Spack
    a. GCClassic version : 14.3.1, build from master
    b.
  2. spack find
image
  1. env file
image
  1. cmake errors
    a. image
    b. FailedCompile.txt log info
image

Bug in Intel debug options in CmakeLists.txt

Name and Institution (Required)

Name: Lee Murray
Institution: University of Rochester

Line 71 of CMakeLists.txt (second line below) is missing the dash before the "g" compilation option, which makes ifort fail during compile time, as it is looking for a non-existent file named "g".

set(GEOSChem_Fortran_FLAGS_DEBUG_Intel
    g -O0 "SHELL:-check arg_temp_created" "SHELL:-debug all" -fpe0 -ftrapuv -check,bounds
    CACHE STRING "GEOSChem compiler flags for build type Debug with Intel compilers"
)

[SUBMODULE UPDATES] Retire input land-water-ice (LWI)

Brief Description

There are two related submodule PRs for retiring use of input meteorology field land-water-ice (LWI) index and GEOS-Chem and HEMCO state arrays it is stored in. We are removing LWI as a dependency because it will not be included in the GEOS-IT dataset and determining whether a grid cell is over ocean, ice, or land is possible through other input meteorology fields. It is currently only used for computation in (1) dry deposition if using optional Luo wet deposition, and (2) HEMCO extensions.

Related Issues

Feature request to retire LWI:
geoschem/geos-chem#1413

Submodule Pull Requests

[BUG/ISSUE] try_compile.F90 fails to build & run when configuring with -DOMP=n (i.e. no OpenMP parallelization)

When I configure GEOS-Chem Classic to turn off OpenMP parallelization:

$ cd build
$ cmake ../CodeDir -DRUNDIR=.. -DOMP=n

I get this (non-fatal) error message:

-- The Fortran compiler identification is GNU 10.2.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /net/seasasfs02/srv/export/seasasfs02/share_root/ryantosca/spack/opt/spack/linux-centos7-x86_64/gcc-9.2.0/gcc-10.2.0-mzf6cdco4v5z5srfzjd7nwasabojxpx5/bin/gfortran - skipped
-- Checking whether /net/seasasfs02/srv/export/seasasfs02/share_root/ryantosca/spack/opt/spack/linux-centos7-x86_64/gcc-9.2.0/gcc-10.2.0-mzf6cdco4v5z5srfzjd7nwasabojxpx5/bin/gfortran supports Fortran 90
-- Checking whether /net/seasasfs02/srv/export/seasasfs02/share_root/ryantosca/spack/opt/spack/linux-centos7-x86_64/gcc-9.2.0/gcc-10.2.0-mzf6cdco4v5z5srfzjd7nwasabojxpx5/bin/gfortran supports Fortran 90 - yes
=================================================================
GCClassic 13.3.0 (superproject wrapper)
Current status: 13.3.0-alpha.12-4-g9c5f426
=================================================================
-- Found NetCDF: /net/seasasfs02/srv/export/seasasfs02/share_root/ryantosca/spack/opt/spack/linux-centos7-x86_64/gcc-10.2.0/netcdf-fortran-4.5.3-mtuoejjcl3ozbvd6prgqm44k5jre3hne/lib/libnetcdff.so  
-- Useful CMake variables:
  + CMAKE_PREFIX_PATH:    /net/seasasfs02/srv/export/seasasfs02/share_root/ryantosca/spack/opt/spack/linux-centos7-x86_64/gcc-10.2.0/netcdf-c-4.7.4-22bkbtqledcaipqc2zrgun4qes7kkm5q
  ...             /net/seasasfs02/srv/export/seasasfs02/share_root/ryantosca/spack/opt/spack/linux-centos7-x86_64/gcc-10.2.0/netcdf-fortran-4.5.3-mtuoejjcl3ozbvd6prgqm44k5jre3hne
  + CMAKE_BUILD_TYPE:     Release
-- Run directory setup:
  + RUNDIR:       /local/ryantosca/GC/rundirs/partest_sp
-- Threading:
  * OMP:          ON  OFF
-- General settings:
  * CUSTOMMECH:   ON  OFF
  * BPCH_DIAG:    ON  OFF
  * USE_REAL8:    ON  OFF
-- Components:
  * TOMAS:        ON  OFF
  * TOMAS_BINS:   NA  15  40
  * APM:          ON  OFF
  * RRTMG:        ON  OFF
  * GTMM:         ON  OFF
  * HCOSA:        ON  OFF
  * LUO_WETDEP:   ON  OFF
=================================================================
HEMCO 3.2.0
Current status: 3.2.0-rc.0
=================================================================
=================================================================
GEOS-Chem 13.3.0 (science codebase)
Current status: 13.3.0-alpha.12-5-g8af9c9896
=================================================================
Creating /local/ryantosca/GC/rundirs/partest_sp/CodeDir/src/GEOS-Chem/Interfaces/GCClassic/gc_classic_version.H
CMake Warning at CMakeLists.txt:286 (message):
  Failed to compile a simple program that uses NetCDF-Fortran ! Could your
  NetCDF installation be broken?

  See "FailedCompile.txt" for more info.


-- Configuring done
-- Generating done
-- Build files have been written to: /local/ryantosca/GC/rundirs/partest_sp/build

CMake Warning at CMakeLists.txt:286 (message):
  Failed to compile a simple program that uses NetCDF-Fortran ! Could your
  NetCDF installation be broken?

The configuration completes and builds the Makefiles, but the try_compile.F90 program (which tests if you can write a netCDF file) dies with an error. It could be that this #ifdef block is not being applied properly:

#ifndef NO_OMP
    integer nthreads, tid, OMP_GET_THREAD_NUM

    write(*,*) 'About to start multiple threads'
    ! Try OpenMP
    !$OMP PARALLEL PRIVATE(nthreads, tid)
    TID = OMP_GET_THREAD_NUM()
    write(*,*) 'Hello from thread ', tid
    !$OMP END PARALLEL
#endif

Missing feature in documentation

A small bit of missing documentation...

The documentation page for HEMCO_DIagn.rc is missing a variable. In the numbered list of columns, "Dim" should be between "Hierarchy" and "Units".

In particular, I'd like to know if specifying "2" for a 3-D emission (e.g. aircraft) will provide the column sum of emissions in the diagnostic output, or just the first layer emission, or something else.

I really appreciate all the documentation that is there though!

Feature request: Add support for Intel 2024 compiler suite

Name and Institution (Required)

Name: Bob Yantosca
Institution: Harvard + GCST

Confirm you have reviewed the following documentation

New GCClassic feature or discussion

Intel has revealed that the icc/icpc/ifort compilers will be discontinued by late 2024 in favor of the newer icx/ifx LLVM compilers.

We will need to support both ifort and ifx compilers for a time, given that some users may not be able to convert right away. This will require updates to compilation options in CMakeLists.txt and CMakeScripts/ in this repository

Also we will need to benchmark with both ifort and ifx to make sure that the new compilers do not introduce any unexpected changes.

FASRC should have the Intel 2024 compilers and related libraries (MPI, netCDF, netCDF-Fortran, HDF5, etc) installed by March 2024 as part of the regular compiler update cadence. In the meantime I will leave this issue here as a reminder.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.