GEOS-ESM / GEOS-ESM/GEOSgcm_GridComp

Integrate OpenACC ports of Moist routines

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

@pchakraborty is already working on this.

Since Jun 13, 2023.

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

Description

It may be best to use the RRTMGP model when integrating the OpenACC ports of moist routines. For example, in Moist GridComp, there are OpenACC versions of the buoyancy and fillq2zero routines. So, one idea would be to extract these routines from Process_Library.F90 and place them in a kernels directory. And add their OpenACC counterparts in a kernels-openacc directory.

So, the Moist GridComp directory would look like

├── aer_actv_single_moment.F90
├── aer_cloud.F90
├── cldmacro.F90
├── cldwat2m_micro.F90
├── cloudnew.F90
├── CMakeLists.txt
├── ConvPar_GF2020.F90
├── ConvPar_GF_GEOS5.F90
├── ConvPar_GF_Shared.F90
├── ddf.F90
├── GEOS_BACM_1M_InterfaceMod.F90
├── GEOS_GFDL_1M_InterfaceMod.F90
├── GEOS_GF_InterfaceMod.F90
├── GEOS_MGB2_2M_InterfaceMod.F90
├── GEOS_MoistGridComp.F90
├── GEOS_RAS_InterfaceMod.F90
├── GEOS_UW_InterfaceMod.F90
├── gfdl_cloud_microphys.F90
├── isccp_call.code
├── isccp_decls.code
├── kernels
│   ├── buoyancy.F90
│   └── fillq2zero.F90
├── kernels-openacc
│   ├── buoyancy.F90
│   └── fillq2zero.F90
├── micro_mg3_0.F90
├── micro_mg_utils.F90
├── module_gate.F90
├── Process_Library.F90
├── qsat.h
├── rascnvv2_v.F90
├── ras.F90
├── RASPARAMS.F90
├── uwshcu.F90
├── WSUB_ExtData.rc
├── WSUB_ExtData.yaml
├── wv_sat_methods.F90
└── wv_saturation.F90

along with appropriate changes in Process_Library.F90 and CMakeLists.txt.

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.