Removal of obsolete modules from GEOS-Chem

From Geos-chem
Jump to: navigation, search

On this page we provide information about software modules that were completely or partially removed from GEOS-Chem.

Overview

We have removed several obsolete source code modules and files from GEOS-Chem v10-01 (and higher versions), as shown in the tables below. We were able to do this because:

  • The Input_Opt, State_Met, and State_Chm derived type objects now carry many variables that were formerly stored in GEOS-Chem legacy modules.
  • The addition of the HEMCO emissions component into GEOS-Chem v10-01 has rendered much of GEOS-Chem's legacy code obsolete.
  • Removing obsolete modules and files will allow GEOS-Chem to more efficiently operate in High-Performance computing (HPC) environments, such as when we couple GEOS-Chem to the NASA GEOS-5 GCM.
  • The FlexChem chemical solver package has allowed us to remove all legacy SMVGEAR code from GEOS-Chem v11-01 and higher versions.

Legend for the tables below:

COMPLETELY REMOVED The module no longer exists in GEOS-Chem.
PARTIALLY REMOVED The module still exists in GEOS-Chem, but much legacy code has been deleted from it.
SOME CONTENTS MERGED WITH ANOTHER MODULE The module was removed from GEOS-Chem, but some variables or routines were merged into a different module for the sake of efficiency or clarity.
RENAMED The module is still present in GEOS-Chem, but with a different filename than in prior versions.

--Bob Yantosca (talk) 16:26, 8 November 2016 (UTC)

Modules removed from the Headers subdirectory

Completely removed

The following files in Headers/ have been completely from GEOS-Chem v10-01 and higher versions:

Module(s) StatusR
  • Headers/CMN_mod.F
  • Headers/CMN_NOX_mod.F
  • Headers/smv_physconst_mod.F
COMPLETELY REMOVED.
  • Headers/commsoil_mod.F
COMPLETELY REMOVED; SOME CONTENTS MERGED WITH ANOTHER MODULE.
  • Removed from: GEOS-Chem v10-01
  • Reason: HEMCO has rendered everything obsolete in Headers/commsoil_mod.F except the following 3 arrays:
    1. DEP_RESERVOIR
    2. DRY_TOTN
    3. WET_TOTN
    • These 3 arrays have now been added to module GeosCore/get_ndep_mod.F as PUBLIC module variables.
    • NOTE: The ND49 timeseries diagnostics for soil NOx quantities are now broken. HEMCO keeps track of these quantities via its own diagnostic archiving system.
  • Headers/gigc_input_opt_mod.F90
RENAMED.
  • Removed from: GEOS-Chem v11-01g
  • Reason: The "GIGC" (grid-independent GEOS-Chem) is now obsolete terminology. This module was renamed from gigc_input_opt_mod.F90 to simply input_opt_mod.F90.
  • Headers/gigc_state_chm_mod.F90
RENAMED.
  • Removed from: GEOS-Chem v11-01g
  • Reason: The "GIGC" (grid-independent GEOS-Chem) is now obsolete terminology. This module was renamed from gigc_state_chm_mod.F90 to simply state_chm_mod.F90.
  • Headers/gigc_state_met_mod.F90
RENAMED.
  • Removed from: GEOS-Chem v11-01g
  • Reason: The "GIGC" (grid-independent GEOS-Chem) is now obsolete terminology. This module was renamed from gigc_state_met_mod.F90 to simply state_met_mod.F90.
  • Headers/gigc_state_phy_mod.F90
COMPLETELY REMOVED.
  • Headers/smv_dimension_mod.F
COMPLETELY REMOVED; SOME CONTENTS MERGED WITH ANOTHER MODULE.
  • Removed from: GEOS-Chem v10-01
  • Reason: No longer needed. Some PARAMETER declarations from this module were moved to physconsts.F.
  • Headers/CMN_GCTM_mod.F
RENAMED.
  • Headers/comode_loop_mod.F90
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v11-01g
  • Reason: This SMVGEAR-specific module was rendered obsolete by the new FlexChem implementation.

--Bob Yantosca (talk) 16:23, 8 November 2016 (UTC)

Partially removed

The following files in Headers/ have been partially removed from GEOS-Chem v10-01 and higher versions. These modules still exist in GEOS-Chem, but a significant amount of legacy code has been deleted from them.

Module(s) Status
  • Headers/CMN_DIAG_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v11-01g
  • Reason: Removed obsolete code, including
    • References to parameter NNPAR
    • Obsolete PDxx parameters. These were used to dimension the various diagnostic arrays. But many diagnostics are now archived via HEMCO, thus rendering these obsolete.
  • Headers/CMN_O3_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v11-01g
  • Reason: The following module variables were removed, as these were made obsolete by HEMCO:
    • Integer variables: NEMPARA, NEMPARB, NOXLEVELS, NOXEXTENT
    • Scale factor variables: TODH, TODN, TODB, SCNR89, FTOTCO2, FLIQCO2, FSCALYR
    • Emissions arrays: EMISR, EMISRN, EMIST, EMISTN, EMISTNOX, EMISTETHE, EMISTCO, EMISTPRPE, EMISTC3H8, EMISTALK4, EMISTC2H6, EMISTSOX, EMISTACET, EMISTMEK, EMISTBENZ, EMISTTOLU, EMISTXYLE, EMISTC2H4, EMISTC2H2, EMISTNAP, EMISTNAP
  • Headers/CMN_SIZE_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v11-01g
  • Reason: The following module variables were removed, as these were made obsolete by HEMCO:
    • Parameters: NEMPARA, NEMPARB, NOXLEVELS, NOXEXTENT

--Bob Yantosca (talk) 16:08, 21 July 2016 (UTC)

Modules removed from the GeosCore subdirectory

Completely removed

The following files in GeosCore/ have been completely removed from GEOS-Chem v10-01 and higher versions:

Module(s) Status
  • GeosCore/acetone_mod.F
  • GeosCore/aeic_mod.F
  • GeosCore/aircraft_nox_mod.F
  • GeosCore/anthroems.F
  • GeosCore/arctas_ship_emiss_mod.F
  • GeosCore/biofuel_mod.F
  • GeosCore/biofit.F
  • GeosCore/biomass_mod.F
  • GeosCore/bravo_mod.F
  • GeosCore/cac_mod.F
  • GeosCore/canopy_nox_mod.F
  • GeosCore/edgar_mod.F
  • GeosCore/emep_mod.F
  • GeosCore/emf_scale.F
  • GeosCore/emfossil.F
  • GeosCore/emissdr.F
  • GeosCore/epa_nei_mod.F
  • GeosCore/gfed2_biomass_mod.F
  • GeosCore/fertadd.F
  • GeosCore/findmon.F
  • GeosCore/gc_biomass_mod.F
  • GeosCore/geia_mod.F
  • GeosCore/get_popsinfo_mod.F
  • GeosCore/global_bc_mod.F
  • GeosCore/global_hno3_mod.F
  • GeosCore/global_no3_mod.F
  • GeosCore/global_nox_mod.F
  • GeosCore/global_o1d_mod.F
  • GeosCore/global_o3_mod.F
  • GeosCore/global_oc_mod.F
  • GeosCore/global_oh_mod.F
  • GeosCore/icoads_ship_mod.F
  • GeosCore/precipfrac.F
  • GeosCore/readclim.F
  • GeosCore/readfert.F
  • GeosCore/retro_mod.F
  • GeosCore/readsoil.F
  • GeosCore/scale_anthro_mod.F
  • GeosCore/soaprod_mod.F
  • GeosCore/ssa_bromine_mod.F
  • GeosCore/sunparam.F
  • GeosCore/vistas_anthro_mod.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: These legacy emissions routines were rendered obsolete by HEMCO.
  • <tt>GeosCore/airmas.F
  • GeosCore/BLKSLV.F
  • GeosCore/GEN.F
  • GeosCore/EFOLD.F
  • GeosCore/fast_j.F
  • GeosCore/fjfunc.F
  • GeosCore/FLINT.F
  • GeosCore/GAUSSP.F
  • GeosCore/JVALUE.F
  • GeosCore/JRATET.F
  • GeosCore/LEGND0.F
  • GeosCore/MATIN4.F
  • GeosCore/MIESCT.F
  • GeosCore/NOABS.F
  • GeosCore/OPMIE.F
  • GeosCore/photoj.F
  • GeosCore/RD_AOD.F
  • GeosCore/rd_js.F
  • GeosCore/RD_TJPL.F
  • GeosCore/rd_jv_atms_dat.F
  • GeosCore/set_aer.F
  • GeosCore/set_prof.F
  • GeosCore/SPHERE.F
  • GeosCore/XSEC1D.F
  • GeosCore/XSECO2.F
  • GeosCore/XSECO3.F</tt>
COMPLETELY REMOVED.
  • GeosCore/arsl1k.F
  • GeosCore/fcro2ho2.F
  • GeosCore/fyhoro.F
  • GeosCore/fyrno3.F
COMPLETELY REMOVED.


  • Removed from: GEOS-Chem v11-01g
  • Reason: Routine calcrate.F was rendered obsolete by the new FlexChem solver package.
  • GeosCore/backsub.F
  • GeosCore/calcrate.F
  • GeosCore/chemdr.F
  • GeosCore/comode_mod.
  • GeosCore/decomp.F
  • GeosCore/diagoh.F
  • GeosCore/gasconc.F
  • GeosCore/jsparse.F
  • GeosCore/ksparse.F
  • GeosCore/lump.F
  • GeosCore/partition.F
  • GeosCore/pderiv.F
  • GeosCore/physproc.F
  • GeosCore/readchem.F
  • GeosCore/reader.F
  • GeosCore/ruralbox.F
  • GeosCore/setemdep.F
  • GeosCore/setemis.F
  • GeosCore/setmodel.F
  • GeosCore/smvgear.F
  • GeosCore/subfun.F
  • GeosCore/update.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v11-01g
  • Reason: These SMVGEAR-specific modules were rendered obsolete by the FlexChem solver package.
  • GeosCore/boxvl.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: Replaced by inlined code:
    BOXVL = State_Met%AIRVOL(I,J,L) * 1d6
  • GeosCore/cf_nucl.F
  • GeosCore/ion_nucl.F
MERGED WITH ANOTHER MODULE.
  • GeosCore/dust_dead_mod.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: The DEAD dust source function is now implemented as a HEMCO extension.
  • GeosCore/gfed3_biomass_mod.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: GFED3 biomass emissions are now computed by a HEMCO extension.
  • GeosCore/finn_biomass_mod.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: FINN biomass emissions are now computed by a HEMCO extension.
  • GeosCore/lightning_nox_mod.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: Lightning NOx emissions are now computed by a HEMCO extension.
  • GeosCore/logical_mod.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: Replaced by the corresponding fields of the Input_Opt derived-type object.
  • GeosCore/megan_mod.F
  • GeosCore/meganut_mod.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: MEGAN biogenic emissions are now computed by a HEMCO extension.
  • GeosCore/paranox_mod.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: The PARANOX plume model is now implemented as a HEMCO extension.
  • GeosCore/nc_soilnox_read.F90
  • GeosCore/pulsing.F
  • GeosCore/soil_nox_mod.F
  • GeosCore/soilnox_restart_mod.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: Soil NOx emissions are now computed by a HEMCO extension.
  • GeosCore/tracerid_mod.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v11-01g
  • Reason: We now use the Ind_() function from Headers/gigc_state_chm_mod.F90 to obtain species IDs. This ensures that the IDs will be consistent with the ordering used by the FlexChem chemical solver.
  • GeosCore/sfcwindsqr.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: Replaced by inlined code:
    SFCWINDSQR = State_Met%U10M(I,J)**2 + State_Met%V10M(I,J)**2
  • GeosCore/xltmmp.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: Now replaced by inlined code:
    XLTMMP = State_Met%TS(I,J)

--Bob Yantosca (talk) 18:57, 20 July 2016 (UTC)

Partially removed

The following files in GeosCore/ have been partially removed from GEOS-Chem v10-01 and higher versions. These modules still exist in GEOS-Chem, but a significant amount of legacy code has been deleted from them.

Module(s) Status
  • GeosCore/aerosol_mod.F
  • GeosCore/diag_pl_mod.F
  • GeosCore/land_mercury_mod.F
  • GeosCore/mercury_mod.F
  • GeosCore/ocean_mercury_mod.F
PARTIALLY REMOVED.
  • GeosCore/carbon_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v10-01
  • Reason: Dry deposition is now applied to carbon aerosol tracers in GeosCore/mixing_mod.F90. Therefore, we have removed the application of dry deposition (and the archiving of the ND44 drydep diagnostic) from the following routines. In some cases, these routines were significantly simplified:
    • CHEM_BCPO, CHEM_BCPI, CHEM_OCPO, CHEM_OCPI
    • Routine SOA_DEPO has been removed, as it is now obsolete.
  • GeosCore/diag49_mod.F
  • GeosCore/diag51_mod.F
  • GeosCore/diag51b_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v10-01
  • Reason: We had to disable certain timeseries diagnostics which are now archived by HEMCO. We need to think about how to introduce these as netCDF diagnostics.
  • GeosCore/diag_pl_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v11-01g
  • Reason: The prod/loss diagnostic is now handled by KPP and passed to GEOS-Chem in flexchem_mod.F90. The code for setting up and computing the ND65 diagnostic is no longer needed. We do still utilize much of the code for ND20 (O3 prod/loss), so code specific to ND20 has been moved to a new module GeosCore/diag20_mod.F.
  • GeosCore/drydep_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v10-01
  • Reason: Dry deposition is now applied to sea salt aerosol tracers in GeosCore/mixing_mod.F90. Therefore, we have removed the following routines:
    • DRYFLX
    • DRYFLXRnPbBe
  • GeosCore/dust_mod.F
PARTIALLY REMOVED; SOME CONTENTS MERGED WITH ANOTHER MODULE.
  • Modified in: GEOS-Chem v10-01
  • Reason: The Ginoux dust source function is now implemented as a HEMCO extension.
  • GeosCore/input_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v10-01
  • Reason: We no longer read the directory paths O3_PL_DIR and OH_DIR. The data contained in these paths are now read in via HEMCO.
  • GeosCore/linoz_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v10-01
  • Reason: Several variables have now been replaced by fields of Input_Opt
    • Module variable LINOZ_NLEVELS is now replaced by Input_Opt%LINOZ_NLEVELS.
    • Module variable LINOZ_NLAT is now replaced by Input_Opt%LINOZ_NLAT.
    • Module variable LINOZ_NMONTHS is now replaced by Input_Opt%LINOZ_NMONTHS.
    • Module variable LINOZ_NFIELDS is now replaced by Input_Opt%LINOZ_NFIELDS.
    • Module variable LINOZ_TPARM is now replaced by Input_Opt%LINOZ_TPARM.
  • GeosCore/restart_mod.F
PARTIALLY REMOVED.
  • GeosCore/seasalt_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v10-01
  • Reason: Dry deposition is now applied to sea salt aerosol tracers in GeosCore/mixing_mod.F90. Therefore, we have removed the following routines:
    • DRY_DEPOSITION
  • GeosCore/sulfate_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v10-01
  • Reason:
    • The following module variables were removed, as these were made obsolete by HEMCO:
      • Emissions arrays: ENH3_an, ENH3_bb, ENH3_bf, ENH3_na, ESO2_ac, ESO2_an, ESO2_ev, ESO2_nv, ESO2_bb, ESO2_bf, ESO2_sh, ESO4_an
    • Dry deposition is now applied to sulfate aerosol tracers in GeosCore/mixing_mod.F90. Therefore, we have removed the application of dry deposition (and the archiving of the ND44 drydep diagnostic) from the following routines. In some cases, these routines were significantly simplified:
      • CHEM_DMS, CHEM_SO2, CHEM_SO4, CHEM_MSA, CHEM_NIT
      • CHEM_NH3 and CHEM_NH4 have been removed, as these are now obsolete.
  • GeosCore/tagged_ox_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v10-01
  • Reason: Dry deposition is now applied to tagged O3 tracers in GeosCore/mixing_mod.F90. Therefore, we have removed the application of dry deposition (and the archival of the ND44 dry deposition diagnostic) from the following routines:
    • CHEM_TAGGED_OX
  • GeosCore/tracer_mod.F
MOSTLY REMOVED.
  • Modified in: GEOS-Chem v10-01
  • Reason:
    • The ITS_A_*_SIM functions are now replaced by fields of the Input_Opt derived-type object.
    • N_TRACERS is now replaced by Input_Opt%N_TRACERS, and again later by State_Chm%nAdvect.
    • Function GET_SIM_NAME has now been replaced by Input_Opt%SIM_NAME.
    • The CHECK_STT* functions were left intact.
  • GeosCore/vdiff_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v10-01
  • Reason:
    • PBL routines are now called from GeosCore/mixing_mod.F90.
    • We have removed all references to EMIS_SAVE, which used to pass emissions into the non-local PBL mixing routine.
  • GeosCore/vdiff_pre_mod.F
PARTIALLY REMOVED.
  • Modified in: GEOS-Chem v10-01
  • Reason: The following module variables were removed, as these were made obsolete by HEMCO:
    • Parameters MAXTRACERS
    • Arrays: EMIS_SAVE

--Bob Yantosca (talk) 18:37, 20 July 2016 (UTC)

Modules removed from the GeosUtil subdirectory

The following files in GeosUtil/ have been completely or partially removed from GEOS-Chem v10-01 and higher versions:

Module(s) Status
  • GeosUtil/directory_mod.F
  • GeosUtil/unix_cmds_mod.F
COMPLETELY REMOVED.
  • Removed from: GEOS-Chem v10-01
  • Reason: The data stored in these modules are now stored in the Input_Opt derived-type object.
  • GeosUtil/global_grid_mod.F90
  • GeosUtil/regrid_1x1_mod.F
COMPLETELY REMOVED.
  • GeosUtil/henry_coeffs.F
MOSTLY UNUSED.
  • GeosUtil/ncdf_mod.F90
MOVED TO A DIFFERENT DIRECTORY.
  • Removed from: GEOS-Chem v10-01
  • Reason: This module has been moved to the NcdfUtil directory.

--Bob Yantosca (talk) 18:25, 21 July 2016 (UTC)

Modules that are on the chopping block

The following modules will be removed from GEOS-Chem shortly, once new software is integrated.

Module(s) Status
  • Headers/CMN_DIAG_mod.F
  • GeosCore/diag03_mod.F
  • GeosCore/diag04_mod.F
  • GeosCore/diag1.F
  • GeosCore/diag3.F
  • GeosCore/diag41_mod.F
  • GeosCore/diag42_mod.F
  • GeosCore/diag48_mod.F
  • GeosCore/diag49_mod.F
  • GeosCore/diag50_mod.F
  • GeosCore/diag51_mod.F
  • GeosCore/diag51b_mod.F
  • GeosCore/diag53_mod.F
  • GeosCore/diag56_mod.F
  • GeosCore/diag63_mod.F
  • GeosCore/diag2pm_mod.F
  • GeosCore/diagoh.F
  • GeosCore/initialize.F
  • GeosCore/ndxx_setup.F
  • GeosCore/ohsave.F
  • GeosUtil/bpch2_mod.F
  • GeosUtil/hdf_mod.F
TO BE REPLACED BY netCDF DIAGNOSTICS
  • These modules (which save diagnostic output to binary punch file format) will eventually be removed when we start converting GEOS-Chem's diagnostics to COARDS-compliant netCDF format.
  • There will be a transition period when both binary punch and netCDF diagnostics will exist side-by-side. This will facilitate testing and debugging.

--Bob Yantosca (talk) 18:27, 21 July 2016 (UTC)