/[MITgcm]/MITgcm/pkg/exf/TODO.txt
ViewVC logotype

Annotation of /MITgcm/pkg/exf/TODO.txt

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


Revision 1.5 - (hide annotations) (download)
Thu Aug 7 02:31:29 2003 UTC (20 years, 10 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint51f_pre
Changes since 1.4: +0 -7 lines
File MIME type: text/plain
o Added on-the-fly spatial interpolation capability
    "USE_EXF_INTERPOLATION" to pkg/exf.
  - This is a temporary Cartesian-grid hack until
    the super-duper ESMF coupler becomes available.
  - See verification/global_with_exf/README for usage example.
  - Removed obsolete EXFwindOnBgrid and SEAICEwindOnCgrid
    flags and modified pkg/seaice accordingly.
o Bug fix to pkg/ptracers, pkg/generic_advdiff/gad_calc_rhs.F,
    and pkg/kpp/kpp_transport_ptr.F for dealing with tracer
    non-local transport term.

1 dimitri 1.2 c To Do:
2     c ------
3     c
4     c Selection of forcing fields
5     c
6 dimitri 1.3 c 1. Cyclic forcing should be available for each field type
7     c (surface forcing and relaxation to climatology).
8 dimitri 1.2 c
9 dimitri 1.3 c Cleaning package
10 dimitri 1.2 c
11     c Many assumptions that are made in the current version should, and
12     c can, be relaxed in later versions:
13     c
14     c - equidistancy in time --> general data set (non-equidistant in
15     c time)
16     c
17     c - climatologies --> arbitrary subinterval of a year, not
18     c just monthly values.
19     c
20     c - relaxation --> relaxation could be done to a given
21     c data set over the model's integration
22     c time. This would generalise the clima-
23     c tology block. One could have 'cyclic'
24     c and 'non-cyclic' fields. In the first
25     c case, the cycle length has to be spe-
26     c cified ('monthly','yearly','period') as
27     c well as the start of the cycle ( irec=1
28     c corresponds to a certain calendar date).
29     c The second case can be treated analog-
30     c ously.
31     c
32     c
33     c Notes regarding more complete implementation of relaxation
34     c ==========================================================
35     c
36     c Modifications in subroutine
37     c INITIALISE_FIXED (from c27 on):
38     c -------------------------------
39     c .
40     c .
41     c .
42     c C-- Set coriolis operators
43     c CALL INI_CORI( myThid )
44     c
45     c#ifdef INCLUDE_LAT_CIRC_FFT_FILTER_CODE
46     cC-- Latitude circle filter initialisation
47     c CALL FILTER_LATCIRC_FFT_INIT(myThid)
48     c _BARRIER
49     c#endif
50     c
51     c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
52     c
53     c call exf_Init( mythid )
54     c
55     c #ifdef ALLOW_CLIMTEMP_RELAXATION
56     c c-- Set the relaxation coefficient to the temperature climatology.
57     c call exf_GetTempClimLambda(
58     c I mythid
59     c & )
60     c _BARRIER
61     c #endif
62     c #ifdef ALLOW_CLIMSALT_RELAXATION
63     c c-- Set the relaxation coefficient to the salinity climatology.
64     c call exf_GetSaltClimLambda(
65     c I mythid
66     c & )
67     c _BARRIER
68     c #endif
69     c #ifdef ALLOW_CLIMSST_RELAXATION
70     c c-- Set the relaxation coefficient to the sst climatology.
71     c call exf_GetSSTClimLambda(
72     c I mythid
73     c & )
74     c _BARRIER
75     c #endif
76     c #ifdef ALLOW_CLIMSSS_RELAXATION
77     c c-- Set the relaxation coefficient to the sss climatology.
78     c call exf_GetSSSClimLambda(
79     c I mythid
80     c & )
81     c _BARRIER
82     c #endif
83     c #endif
84     c
85     c c-- Finally, summarise the model cofiguration.
86     c CALL CONFIG_SUMMARY( myThid )
87     c .
88     c .
89     c .
90     c
91     c
92     c external_forcing.F - Add relaxation to climatological fields.
93     c
94     c
95     c Modifications in subroutine
96     c EXTERNAL_FORCING_T (taken from c25):
97     c ------------------------------------
98     c .
99     c .
100     c .
101     c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
102     c #include "exf_clim.h"
103     c #endif
104     c .
105     c .
106     c .
107     c C-- Forcing term
108     c C Add heat in top-layer
109     c IF ( kLev .EQ. 1 ) THEN
110     c DO j=jMin,jMax
111     c DO i=iMin,iMax
112     c gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)
113     c & +maskC(i,j)*(
114     c & -lambdaThetaClimRelax*(theta(i,j,kLev,bi,bj)-SST(i,j,bi,bj))
115     c & -Qnet(i,j,bi,bj)*recip_Cp*recip_rhoNil*recip_dRf(kLev) )
116     c
117     c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
118     c #ifdef ALLOW_CLIMSST_RELAXATION
119     c gt(i,j,klev,bi,bj) = gt(i,j,klev,bi,bj) -
120     c & maskc(i,j)*lambda_climsst(i,j,bi,bj)*
121     c & ( theta(i,j,klev,bi,bj) -
122     c & climsst(i,j,bi,bj) )
123     c #endif
124     c #endif
125     c
126     c ENDDO
127     c ENDDO
128     c ENDIF
129     c
130     c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
131     c #ifdef ALLOW_CLIMTEMP_RELAXATION
132     c do j=jmin,jmax
133     c do i=imin,imax
134     c gt(i,j,klev,bi,bj) = gt(i,j,klev,bi,bj) -
135     c & maskc(i,j)*lambda_climtemp(i,j,klev,bi,bj)*
136     c & ( theta(i,j,klev,bi,bj) -
137     c & climtemp(i,j,klev,bi,bj) )
138     c enddo
139     c enddo
140     c #endif
141     c #endif
142     c .
143     c .
144     c .
145     c
146     c
147     c Modifications in subroutine
148     c EXTERNAL_FORCING_S (taken from c25):
149     c ------------------------------------
150     c .
151     c .
152     c .
153     c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
154     c #include "exf_clim.h"
155     c #endif
156     c .
157     c .
158     c .
159     c C-- Forcing term
160     c C Add fresh-water in top-layer
161     c IF ( kLev .EQ. 1 ) THEN
162     c DO j=jMin,jMax
163     c DO i=iMin,iMax
164     c gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)
165     c & +maskC(i,j)*(
166     c & -lambdaSaltClimRelax*(salt(i,j,kLev,bi,bj)-SSS(i,j,bi,bj))
167     c #ifdef ALLOW_NATURAL_BCS
168     c & +EmPmR(i,j,bi,bj)*recip_dRf(1)*salt(i,j,kLev,bi,bj)
169     c #else
170     c & +EmPmR(i,j,bi,bj)*recip_dRf(1)*35.
171     c #endif
172     c & )
173     c
174     c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
175     c #ifdef ALLOW_CLIMSSS_RELAXATION
176     c gs(i,j,kLev,bi,bj) = gs(i,j,kLev,bi,bj) -
177     c & maskc(i,j)*lambda_climsss(i,j,bi,bj)*
178     c & ( salt(i,j,kLev,bi,bj) -
179     c & climsss(i,j,bi,bj) )
180     c #endif
181     c #endif
182     c
183     c ENDDO
184     c ENDDO
185     c ENDIF
186     c
187     c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
188     c #ifdef ALLOW_CLIMSALT_RELAXATION
189     c do j=jmin,jmax
190     c do i=imin,imax
191     c gs(i,j,klev,bi,bj) = gs(i,j,klev,bi,bj) -
192     c & maskc(i,j)*lambda_climsalt(i,j,klev,bi,bj)*
193     c & ( salt(i,j,klev,bi,bj) -
194     c & climsalt(i,j,klev,bi,bj) )
195     c enddo
196     c enddo
197     c #endif
198     c #endif
199     c .
200     c .
201     c .

  ViewVC Help
Powered by ViewVC 1.1.22