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/design/directory-structure.md
+33-33Lines changed: 33 additions & 33 deletions
Original file line number
Diff line number
Diff line change
@@ -8,23 +8,23 @@ These directories contain external repository source code, libraries, or tools,
8
8
9
9
Please note that any modifications to the source code in these directories should generally be made outside of CAM-SIMA and instead in the associated external repository listed below.
10
10
11
-
### **bin**
11
+
### **bin/**
12
12
13
13
Contains the `git-fleximmod` tool for downloading needed source code and software from external repositories. More information on `git-fleximod` can be found [here](https://github.com/ESMCI/git-fleximod).
14
14
15
-
### **ccpp_framework**
15
+
### **ccpp_framework/**
16
16
17
17
Contains the core [CCPP-framework](https://github.com/NCAR/ccpp-framework) source code and tools.
18
18
19
-
### **ccs_config**
19
+
### **ccs_config/**
20
20
21
21
Contains the configuration files used by CIME to properly configure and build a CAM-SIMA (or CESM) case. The Github repository associated with this directory can be found [here](https://github.com/ESMCI/ccs_config_cesm).
22
22
23
-
### **cime**
23
+
### **cime/**
24
24
25
25
Contains the [Common Infrastructure for Modeling the Earth (CIME)](https://github.com/ESMCI/cime) tools and associated libraries. Used by CAM-SIMA and CESM for the general configuration and building of a simulation (or "case").
26
26
27
-
### **components**
27
+
### **components/**
28
28
29
29
Contains the following other CESM components:
30
30
-[Community Data Models for Earth Prediction Systems (CDEPS)](https://github.com/ESCOMP/CDEPS)
@@ -37,95 +37,95 @@ Contains the following other CESM components:
37
37
-[River Transport Model (RTM)](https://github.com/ESCOMP/RTM)
38
38
39
39
40
-
### **libraries**
40
+
### **libraries/**
41
41
42
42
Contains the following external libraries:
43
43
-[Flexible Modeling System (FMS)](https://github.com/ESCOMP/FMS_interface.git)
Contains source code [shared across all CESM components](https://github.com/ESCOMP/CESM_share).
49
49
50
50
## Top-level CAM-SIMA directories
51
51
52
52
These directories represent code and tools that is solely contained within the CAM-SIMA repository. If there is a sub-directory that is also an external submodule or repository it will be marked with the "(external)" label.
53
53
54
-
### **cime_config**
54
+
### **cime_config/**
55
55
56
56
Contains the SIMA-specific python and XML configuration routines used by CIME and the CCPP-framework to properly configure and build a CAM-SIMA simulation, including the CCPP-generated caps and namelist files.
57
57
58
-
**Subdirectories**:
58
+
**Subdirectories/**:
59
59
60
60
- testdefs - Location of the CAM-SIMA regression test list and associated files used by CIME during regression (system) testing.
61
61
- testmods_dirs/cam - Location of CAM-SIMA case configuration files used during CIME regression testing.
62
62
63
-
### **docker**
63
+
### **docker/**
64
64
65
65
Contains files needed to run certain CAM-SIMA configurations in a docker container.
66
66
67
-
### **src**
67
+
### **src/**
68
68
69
69
Contains all of the SIMA-specific source code needed to run the model. Additional details can be found below in the "Source directories" section.
70
70
71
-
### **test**
71
+
### **test/**
72
72
73
73
Contains everything needed to perform software testing and validation of CAM-SIMA source code.
74
74
75
75
**Subdirectories**:
76
76
77
-
- system - Includes scripts needed to run CIME (integration) regression tests.
78
-
- unit - Includes scripts and source code needed to run CAM-SIMA unit tests.
79
-
- sample_files - Contains files that are used to validate the unit test results.
77
+
- system/ - Includes scripts needed to run CIME (integration) regression tests.
78
+
- unit/ - Includes scripts and source code needed to run CAM-SIMA unit tests.
79
+
- sample_files/ - Contains files that are used to validate the unit test results.
80
80
81
-
### **tools**
81
+
### **tools/**
82
82
83
83
Contains non-required scripts and source code that may be useful for CAM-SIMA development.
84
84
85
85
## **Source (src) directories**
86
86
87
87
This section lists all of the directories underneath the "src" top-level directory.
88
88
89
-
### **control**
89
+
### **control/**
90
90
91
91
Contains all of the source code needed for general model configuration, organization, and workflow, i.e. all of the "control" systems.
92
92
93
-
### **cpl**
93
+
### **cpl/**
94
94
95
95
Contains all of the source code needed for SIMA to interact with a coupler
96
96
97
97
**Subdirectories**:
98
98
99
-
- nuopc - Contains the source code needed to interact with the [NUOPC](https://earthsystemmodeling.org/nuopc/) coupler, which is brought in via the CMEPS external.
99
+
- nuopc/ - Contains the source code needed to interact with the [NUOPC](https://earthsystemmodeling.org/nuopc/) coupler, which is brought in via the CMEPS external.
100
100
101
-
### **data**
101
+
### **data/**
102
102
103
103
Contains all of the source code needed to manage internal model data. This includes auto-generated registry and initial conditions files code, physical constants, and atmospheric composition and thermodynamic properties.
104
104
105
-
### **dynamics**
105
+
### **dynamics/**
106
106
107
107
Contains all of the dynamical core (dycore) source code.
108
108
109
109
**Subdirectories**:
110
110
111
-
- mpas - Contains all of the source code needed for SIMA to properly couple to the [MPAS dynamical core](https://github.com/MPAS-Dev/MPAS-Model).
112
-
- dycore (external) - External submodule that contains the MPAS dycore code.
113
-
- none - Contains the "null" dycore source code, which allows physics and chemistry routines to be forced with atmospheric data coming directly from input files as opposed to dycore calculations.
114
-
- se - Contains all of the source code needed for SIMA to properly couple to the [Spectral Element dynamical core](https://ncar.github.io/CAM/doc/build/html/cam5_scientific_guide/dynamics.html#spectral-element-dynamical-core).
115
-
- dycore - Contains the internal SE dycore source code files.
116
-
- tests - Contains the source code needed to configure analytic initial conditions for dycores.
117
-
- initial_conditions - Contains source code needed to configure specific analytic initial conditions formulations.
118
-
- utils - Contains utility code used by all dycores in SIMA.
111
+
- mpas/ - Contains all of the source code needed for SIMA to properly couple to the [MPAS dynamical core](https://github.com/MPAS-Dev/MPAS-Model).
112
+
- dycore/ (external) - External submodule that contains the MPAS dycore code.
113
+
- none/ - Contains the "null" dycore source code, which allows physics and chemistry routines to be forced with atmospheric data coming directly from input files as opposed to dycore calculations.
114
+
- se/ - Contains all of the source code needed for SIMA to properly couple to the [Spectral Element dynamical core](https://ncar.github.io/CAM/doc/build/html/cam5_scientific_guide/dynamics.html#spectral-element-dynamical-core).
115
+
- dycore/ - Contains the internal SE dycore source code files.
116
+
- tests/ - Contains the source code needed to configure analytic initial conditions for dycores.
117
+
- initial_conditions/ - Contains source code needed to configure specific analytic initial conditions formulations.
118
+
- utils/ - Contains utility code used by all dycores in SIMA.
119
119
120
-
### **physics**
120
+
### **physics/**
121
121
122
122
Contains all of the SIMA physics and chemistry source code.
123
123
124
124
**Subdirectories**:
125
125
126
-
- ncar_ccpp (external) - External submodule that contains all of the code in the [atmospheric_physics](https://github.com/ESCOMP/atmospheric_physics) repo.
127
-
- utils - Contains SIMA-specific utility routines for working with the CCPP-framework and CCPP-ized physics routines.
126
+
- ncar_ccpp/ (external) - External submodule that contains all of the code in the [atmospheric_physics](https://github.com/ESCOMP/atmospheric_physics) repo.
127
+
- utils/ - Contains SIMA-specific utility routines for working with the CCPP-framework and CCPP-ized physics routines.
128
128
129
-
### **utils**
129
+
### **utils/**
130
130
131
131
Contains source code for generic SIMA utility routines that can be used throughout the model.
0 commit comments