You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/conversion/convert-portable-layer.md
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -13,13 +13,13 @@ The portable module will most likely live in `$CAM/src/physics/cam` or `$CAM/src
13
13
The driver code in each physics directory is `physpkg.F90`, which typically calls the CAM interface to the portable layer (often called `<parameterization>_cam.F90`), but also sometimes calls portable layer directly.
14
14
Once you locate the core code that you will be converting, copy it into the new directory you created in the atmospheric_physics submodule directory:
Many CAM schemes have more than one "run" or "tend" method contained within them. To split them into separate files and test them, do the following:
21
21
22
-
- In the atmospheric physics directory (`ncar_ccpp`), create a separate module for each piece which has a "run" or "tend" method.
22
+
- In the atmospheric physics directory (`ncar_ccpp/schemes/<parameterization_name>`), create a separate module for each piece which has a "run" or "tend" method.
23
23
- An easy way to see what routines need to be separated out, is to look at the "use" statement(s) in `physpkg.F90` for your parametrization's module. If more than one routine is listed, you most likely will need to separate these out.
24
24
- If there is shared, module-level data or shared subroutines which are called internally, put these all in a <scheme_name>_common.F90 module.
25
25
@@ -169,12 +169,12 @@ Make ESCOMP/atmospheric_physics and ESCOMP/CAM tags if substantial changes have
169
169
170
170
- Do at the very least a sanity compilation and run using the ESCOMP/CAM code base
171
171
- Delete the original module from src/physics/cam
172
-
- Use your pulled apart modules in atmos_phys/<schemename>.
172
+
- Use your pulled apart modules in `atmos_phys/schemes/<parameterization_name>`.
173
173
- In bld/configure in the ESCOMP/CAM source code, find the section "Add the CCPP'ized subdirectories". Add following line:
Copy file name to clipboardExpand all lines: docs/conversion/create-sdf.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# 5 - Create an SDF
2
2
The **Suite Definition File (SDF)** tells the CCPP-Framework which schemes will be run in what order. For more, see [CCPP in CAM-SIMA](../design/ccpp-in-cam-sima.md)
3
3
4
-
- In `$CAM-SIMA/src/physics/ncar_ccpp`, create `suite_<parameterization>.xml`. This is your SDF!
4
+
- In `$CAM-SIMA/src/physics/ncar_ccpp/suites`, create `suite_<parameterization>.xml`. This is your SDF!
5
5
- See the template below. You will need to select either `physics_before_coupler` or `physics_after_coupler` as your group name.
Copy file name to clipboardExpand all lines: docs/conversion/interstitials.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -6,8 +6,8 @@ An **interstitial** is a scheme that does calculations or variable modifications
6
6
- In CAM, interstitial code will appear as either function calls or calculations/modifications in the CAM interface just before or just after the call to the parameterization
7
7
- If the interstitial code is a function call, that function/module should be CCPP-ized (if not already) and that scheme will be included in the SDF
8
8
- It the interstitial code is loose in the CAM interface, it is recommended that, when possible, that code be moved into the scheme (either the beginning or end of the scheme subroutine)
9
-
- UNLESS: it's a common (across multiple parameterizations) calculation/translation/modification. In which case, a new scheme should be created to do that calculation (scheme will live in `$CAM-SIMA/src/physics/ncar_ccpp/utilities`)
10
-
- If it is absolutely necessary to create a scheme-specific interstitial, that scheme should be called `<parameterization>_pre` or `_post` (depending on where in the SDF it will be placed) and will live in the `ncar_ccpp/<parameterization>` directory
9
+
- UNLESS: it's a common (across multiple parameterizations) calculation/translation/modification. In which case, a new scheme should be created to do that calculation (scheme will live in `$CAM-SIMA/src/physics/ncar_ccpp/schemes/utilities`)
10
+
- If it is absolutely necessary to create a scheme-specific interstitial, that scheme should be called `<parameterization>_pre` or `_post` (depending on where in the SDF it will be placed) and will live in the `ncar_ccpp/schemes/<parameterization>` directory
11
11
12
12
This section covers a few interstitial scenarios you are likely to face.
13
13
@@ -20,7 +20,7 @@ All `addfld`/`outfld` calls will go in a `<parameterization>_diagnostic.F90` int
20
20
- See: [History Usage](../usage/history.md/#adding-a-diagnostic-field-to-the-cam-sima-source-code) for the specifications of the CAM-SIMA-versions of `addfld` and `outfld` calls
21
21
22
22
## Utilities
23
-
As mentioned, there are some calculations/conversions/translations that are performed often throughout the physics code in CAM. These schemes are available for use in the `$CAM-SIMA/src/physics/ncar_ccpp/utilities` directory and include:
23
+
As mentioned, there are some calculations/conversions/translations that are performed often throughout the physics code in CAM. These schemes are available for use in the `$CAM-SIMA/src/physics/ncar_ccpp/schemes/utilities` directory and include:
24
24
25
25
-**state_converters.F90**: contains common conversions/calculations of [state variables](../design/ccpp-in-cam-sima.md/#state-and-tendency-variables), including these schemes:
@@ -592,7 +592,7 @@ He then populates the generated metadata template (`lunar_tides.meta`) with the
592
592
Bug will revisit the missing standard names when he hears back from the other CAM SEs/scientists about what the names should be.
593
593
594
594
## 4 - Create namelist XML file
595
-
Bug creates the following namelist xml file (called `lunar_tides_namelist.xml`) in the `ncar_ccpp/lunar_tides` directory. It contains one entry - for `apply_lunar_tides`
595
+
Bug creates the following namelist xml file (called `lunar_tides_namelist.xml`) in the `ncar_ccpp/schemes/lunar_tides` directory. It contains one entry - for `apply_lunar_tides`
0 commit comments