GEOS-ESM / GEOS-ESM/GEOSgcm_GridComp

[NDSL] GF convection port (GF2020)

Open
#935 3 comments 0 reactions 2 assignees View on GitHub

@FlorianDeconinck is already working on this.

Since Jan 21, 2025.

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

Description

Located at GEOS_GF_InterfaceMod.F90:GF_Run, two main subroutines.

Use GEOS-FP to determine which one to port and GMAO expertise. Everything under Run should be considered for port. GF_2020 should be the one we run, since the GEOS5 is the older one.

Parent: https://github.com/GEOS-ESM/SMT-Nebulae/issues/57


  • Port GF to pyMoist

Breakdown:

*GF2020_Interface *

  • alloc_grads_arr
  • set_index_loops
  • flipz
  • get_vars
  • GF2020_DRV
    • prepare_temp_pertubations
       - CUP_gf (Note this is not the same as CUP_gf from GEOS5)
      • gen_random
          - system_clock
      • cup_env
        • satur_spec_hum
      • SOUND
          - cup_env_clev
      • get_interp
      • get_partition_liq_ice
        • fract_liq_f
          • ice_fraction -> ICE_FRACTION_SC
      • precip_cwv_factor
          - get_cloud_bc
          - get_lcl
           - satvap
           - td
      • cup_cloud_limits
          - cup_minimi
          - rates_up_pdf
          - get_zu_zd_pdf
           - gammaBrams
            - intfuncgamma
          - get_lateral_massflux
          - get_buoyancy
          - cup_up_moisture_light
          - cup_up_vvel
          - cup_up_moisture
           - get_delmix
           - fract_liq_f
            - ice_fraction
           - get_melting_profile
           - get_delmix
           - get_jmin
           - get_lateral_massflux_down
           - get_wetbulb
           - cup_dd_moisture
           - cup_up_aa0
           - cup_up_aa1bl
           - cup_dd_edt
           - tridiag
           - fct1d3
           - cup_forcing_ens_3d
           - cup_forcing_ens_3d_mid
           - cup_up_cape
           - cup_forcing_ens_3d_shal
           - ke_to_heating
           - cup_output_ens_3d
           - get_precip_fluxes
           - rain_evap_below_cloudbase
           - cloud_dissipation
           - cup_up_lightning
           - get_liq_ice_number_conc
            - make_IceNumber
            - make_DropletNumber
           - cup_env_clev_chem
            - get_w_upd_gcc
           - get_incloud_sc_chem_up
            - henry_gcc
            - henry
            - compute_ki_gcc_gas
        - gcc_e_ice
           - get_incloud_sc_chem_dd
           - set_grads_var
           - wrt_bin_ctl
  • MAPL_EQsat -> QSAT0 (Found under src/Shared/@MAPL/base/MAPL_SatVapor.F90)

Note: I think there're recursive calls possible within QSAT0

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.