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

Contents 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 - (show 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 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 C $Name: $
3
4 CADJ STORE StoreSEAICE = tapelev4, key = ilev_4
5 CADJ STORE tices = tapelev4, key = ilev_4
6
7 #ifdef AUTODIFF_SOMETIMES_NEEDED
8 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 #ifdef ALLOW_COST_ICE
15 CADJ STORE objf_ice = tapelev4, key = ilev_4
16 #endif
17 #ifdef ALLOW_SEAICE_COST_EXPORT
18 CADJ STORE uHeffExportCell = tapelev4, key = ilev_4
19 CADJ STORE vHeffExportCell = tapelev4, key = ilev_4
20 #endif
21
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
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