/[MITgcm]/MITgcm/pkg/seaice/seaice_ad_check_lev4_dir.h
ViewVC logotype

Annotation of /MITgcm/pkg/seaice/seaice_ad_check_lev4_dir.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.16 - (hide annotations) (download)
Mon Mar 5 15:21:44 2012 UTC (13 years, 4 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint63l, checkpoint63k
Changes since 1.15: +1 -4 lines
File MIME type: text/plain
- merging SEAICE_MULTICATEGORY define and undef cases. Now the same code is compiled either
  way, and is tested in all exps (multidim was only tested in lab_sea ad before).
- cosmetic change to prepare for future addition of ITD. no change to results. no defaults change.
- by lack of adequate verification experiments, I further used custom versions of
  global_ocean.cs32x15 to test multicat or not, with pickup or not. All should be correct.

- details :
  - added SEAICE_multDim run time param to be able to switch from single to multi cat.
  - "ifdef SEAICE_MULTICATEGORY" switches are replaced with "IF (SEAICE_multDim.GT.1) THEN".
  - "DO IT=1,MULTDIM" is replaced with "DO IT=1,SEAICE_multDim" in seaice_growth.F. For pickups and
    initializations I kept full loops (did not want to mess with the somewhat funky TICE/TICES pickup logic).
  - homogeneize seaice_growth names (heffActualP->heffActualMult and latentHeatFluxMaxP->latentHeatFluxMaxMult).
  - in growth, add extra MULTDIM dimension in all relevant local fields (needed to simplify logic, and get taf to behave).
  - clean-up growth/solve4temp interface by adding ticeInMult (TSURFin entering solve4etmp)
  and ticeOutMult (TSURFout leaving solve4temp). update seaice_solve4temp accordingly.
  - avoid recomputations (added store directives and clear logic of solve4temp input/output).

1 gforget 1.16 C $Header: /u/gcmpack/MITgcm/pkg/seaice/seaice_ad_check_lev4_dir.h,v 1.15 2012/03/02 18:53:07 heimbach Exp $
2 jmc 1.10 C $Name: $
3 heimbach 1.8
4     CADJ STORE StoreSEAICE = tapelev4, key = ilev_4
5 heimbach 1.11 CADJ STORE tices = tapelev4, key = ilev_4
6    
7 gforget 1.13 #ifdef AUTODIFF_SOMETIMES_NEEDED
8 gforget 1.12 CADJ STORE area = tapelev4, key = ilev_4
9     CADJ STORE heff = tapelev4, key = ilev_4
10     CADJ STORE uice = tapelev4, key = ilev_4
11     CADJ STORE vice = tapelev4, key = ilev_4
12     #endif
13    
14 heimbach 1.4 #ifdef ALLOW_COST_ICE
15     CADJ STORE objf_ice = tapelev4, key = ilev_4
16     #endif
17 heimbach 1.9 #ifdef ALLOW_SEAICE_COST_EXPORT
18     CADJ STORE uHeffExportCell = tapelev4, key = ilev_4
19     CADJ STORE vHeffExportCell = tapelev4, key = ilev_4
20     #endif
21 heimbach 1.14
22     #ifdef ALLOW_OBCS
23     # ifdef ALLOW_OBCS_EAST
24     CADJ STORE obeuice,obeuice0,obeuice1 = tapelev4, key = ilev_4
25     CADJ STORE obevice,obevice0,obevice1 = tapelev4, key = ilev_4
26     # endif
27     # ifdef ALLOW_OBCS_NORTH
28     CADJ STORE obnuice,obnuice0,obnuice1 = tapelev4, key = ilev_4
29     CADJ STORE obnvice,obnvice0,obnvice1 = tapelev4, key = ilev_4
30     # endif
31     # ifdef ALLOW_OBCS_SOUTH
32     CADJ STORE obsuice,obsuice0,obsuice1 = tapelev4, key = ilev_4
33     CADJ STORE obsvice,obsvice0,obsvice1 = tapelev4, key = ilev_4
34     # endif
35     # ifdef ALLOW_OBCS_WEST
36     CADJ STORE obwuice,obwuice0,obwuice1 = tapelev4, key = ilev_4
37     CADJ STORE obwvice,obwvice0,obwvice1 = tapelev4, key = ilev_4
38     # endif
39     #endif
40 heimbach 1.15
41     #ifdef ALLOW_SITRACER
42     CADJ STORE sitracer = tapelev4, key = ilev_4
43     CADJ STORE sitrarea = tapelev4, key = ilev_4
44     CADJ STORE sitrheff = tapelev4, key = ilev_4
45     #endif
46    

  ViewVC Help
Powered by ViewVC 1.1.22