Warning, /verification/global_oce_latlon/README.md is written in an unsupported language. File is not indexed.
view on githubraw file Latest commit c1b8648b on 2026-07-23 18:05:57 UTC
f1b47febb7 Jean*0001 # Global Ocean Simulation at 4 degree Resolution, including Adjoint Set-Up
7fe51dd492 Jean*0002 First configuration to use OpenAD, started on 2005-08-19
0003 by heimbach@mit.edu, utke@mcs.anl.gov, cnh@mit.edu
0004 ***Note*** this experiment was previously named "OpenAD".
0005
0006 ### Overview:
f1b47febb7 Jean*0007 This experiment is derived from `tutorial_global_oce_latlon` (see also `global_ocean.90x40x15`)
0008 with surface forcing provided by specific pkgs, either
0009 `pkg/exf` or `pkg/ebm`, instead of relying on the main model surface forcing capability.
0010 It contains 3 forward set-up, all using the same executable built from `code`
0011 config but with specific input files from `input/` (primary test) and,
0012 as secondary tests, from `input.yearly/` and `input.ebm/`.
0013
c1b8648b4c Jean*0014 It provides also adjoint settings for 2 AD compilers, TAF and Tapenade, with primary
0015 test input files in `input_ad/` and `input_tap/` respectively, but also
7fe51dd492 Jean*0016 several secondary test setting with each of the AD compilers.
0017
c1b8648b4c Jean*0018 ## Part 1, Forward only tests:
f1b47febb7 Jean*0019
0020 The **primary** forward test, using input files from `input/`,
0021 uses prescribed monthly-mean air-sea surface fluxes from `pkg/exf`.<br>
0022
0023 The **secondary** test, using input files from `input.yearly/`,
0024 is very similar except for the specification of yearly input fields to`pkg/exf`.<br>
0025
0026 **Note:**
0027
0028 1. These 2 set-up have been moved (in PR #830) from `verification/global_with_exf/`
0029 where a "README" still provides some details related to `pkg/exf` specific
0030 features used here.
0031 2. The ability, using `pkg/exf`, to compute surface fluxes from near surface
0032 atmospheric state and downward radiation as shown, e.g., in experiment
0033 `global_ocean.cs32x15` (secondary test `input.seaice` or `input.icedyn` or `input.in_p`)
0034 is not used here (`#undef ALLOW_BULKFORMULAE`).
0035
0036 The **secondary** test, using input files from `input.ebm/`,
0037 relies on the Energy-Balance Model package (`pkg/ebm`) to compute oceanic surface forcing.<br>
0038
0039 **Note:**
0040
0041 This secondary test set-up has been moved (in PR #944) from `verification/global_ocean_ebm/`
0042 and a "README" there still provides some details related to `pkg/ebm` specific
0043 features used here.
0044
7fe51dd492 Jean*0045 ## Part 2, using TAF Adjoint Compiler:
0046 similar to above but using set-up specific code from `code_ad/` and input files from `input_ad/`
0047
0048 ### Instructions:
0049 Configure and compile the code:
f1b47febb7 Jean*0050
7fe51dd492 Jean*0051 ```
0052 cd build
0053 ../../../tools/genmake2 -mods ../code_ad [-of my_platform_optionFile]
0054 [make Clean]
0055 make depend
0056 make adall
0057 cd ..
0058 ```
0059
0060 To run primary test:
f1b47febb7 Jean*0061
7fe51dd492 Jean*0062 ```
0063 cd run
0064 ln -s ../input_ad/* .
15ec4b1e94 Jean*0065 ./prepare_run
7fe51dd492 Jean*0066 ../build/mitgcmuv_ad > output_adm.txt
0067 cd ..
0068 ```
0069
0070 There is comparison output in the directory:
0071 `results/output_adm.txt`
0072
f1b47febb7 Jean*0073 To run any of secondary `$st` test (`$st` in: `ggl90`, `w_exf`, `ebm`):
0074
7fe51dd492 Jean*0075 ```
0076 cd run
0077 rm *
0078 ln -s ../input_ad.$st/* .
0079 ln -s ../input_ad/* .
0080 ./prepare_run
0081 ../build/mitgcmuv_ad > output_adm.txt
0082 ```
0083
0084 There is comparison output in the directory:
0085 `results/output_adm.$st.txt`
0086
f1b47febb7 Jean*0087 **Note:**
0088
0089 1. `input_ad.w_exf` set-up has been moved (in PR #830)
0090 from `verification/global_with_exf/input_ad`
0091 2. `input_ad.ebm` set-up has been moved (in PR #944)
0092 from `verification/global_ocean_ebm/input_ad`
7fe51dd492 Jean*0093
0094 ## Part 3, using Tapenade Adjoint Compiler:
0095 similar to above but using set-up specific code from `code_tap/` and input files from `input_tap/`