GEOS-ESM / GEOS-ESM/GEOSgcm_GridComp

Eliminate explicit use of VarSpec in GridComps

Open
#475 0 comments 0 reactions 1 assignee View on GitHub

@atrayano is already working on this.

Since Oct 26, 2021.

0 diff MAPL3
Dominant language
Fortran
Stars
10
Forks
13
Avg merge
17h 35m
Merged PRs (30d)
14

Description

The use of arrays of type VarSpec is preventing some desired encapsulation changes within MAPL. If the following code snippets could be modified to avoid such arrays, then MAPL can evolve and still be backwards compatible.

../src/Components/@GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSradiation_GridComp/GEOSsatsim_GridComp/GEOS_SatsimGridComp.F90:107:    type(MAPL_VarSpec), pointer :: ExportSpec(:) => null()
../src/Components/@GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSradiation_GridComp/GEOSsatsim_GridComp/GEOS_SatsimGridComp.F90:3003:    type(MAPL_VarSpec), pointer :: ExportSpec(:)
../src/Components/@GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSradiation_GridComp/GEOSsolar_GridComp/GEOS_SolarGridComp.F90:1585:    type (MAPL_VarSpec), pointer        :: IMPORTspec(:)   => null()
../src/Components/@GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSradiation_GridComp/GEOSsolar_GridComp/GEOS_SolarGridComp.F90:1586:    type (MAPL_VarSpec), pointer        :: EXPORTspec(:)   => null()
../src/Components/@GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSradiation_GridComp/GEOSsolar_GridComp/GEOS_SolarGridComp.F90:1587:    type (MAPL_VarSpec), pointer        :: INTERNALspec(:) => null()

There are also some in GEOS_ChemGridComp (separate repo)

../src/Components/@GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/@GEOSchem_GridComp/GMIchem_GridComp/GMIchem_GridCompMod.F90:1043:   type(MAPL_VarSpec), pointer     :: InternalSpec(:)
../src/Components/@GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/@GEOSchem_GridComp/CARMAchem_GridComp/CARMAchem_GridCompMod.F90:459:   type(MAPL_VarSpec), pointer     :: InternalSpec(:)
../src/Components/@GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/@GEOSchem_GridComp/CARMAchem_GridComp/CARMAchem_GridCompMod.F90:818:   type(MAPL_VarSpec), pointer     :: InternalSpec(:)
../src/Components/@GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/@GEOSchem_GridComp/StratChem_GridComp/StratChem_GridCompMod.F90:380:   type(MAPL_VarSpec), pointer     :: InternalSpec(:)

And finally, one in GOCART itself:

But maybe this is gone in 2G?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.