/[MITgcm]/MITgcm/pkg/exf/README
ViewVC logotype

Diff of /MITgcm/pkg/exf/README

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

revision 1.1 by heimbach, Mon May 14 22:08:40 2001 UTC revision 1.2 by dimitri, Sat Dec 28 10:11:11 2002 UTC
# Line 5  c   ==================================== Line 5  c   ====================================
5  c   External Forcing Package for the MITgcmUV  c   External Forcing Package for the MITgcmUV
6  c   =========================================  c   =========================================
7  c  c
8  c   Current Version: 0.2.0 (20-Jun-2000)  c   Current Version: 0.2.1 (20-Dec-2002)
9  c  c
10  c  c
11  c   General Outline:  c   General Outline:
# Line 15  c   This package contains routines to ha Line 15  c   This package contains routines to ha
15  c   MITgcmUV general circulation model. The following features are  c   MITgcmUV general circulation model. The following features are
16  c   available:  c   available:
17  c  c
18  c   (a) Surface flux forcing by:  c   (a) Reading-in atmospheric state and/or surface fluxes from files
19    c       and bi-linear interpolation in time.
20    c
21    c   (b) Surface flux forcing by:
22  c  c
23  c         surface heat flux        -->  qnet  c         surface heat flux        -->  qnet
24    c         short wave radiation     -->  qsw   (optional)
25  c         fresh water flux         -->  empmr  c         fresh water flux         -->  empmr
26  c         zonal wind stress        -->  fu  c         zonal wind stress        -->  fu
27  c         meridional wind stress   -->  fv  c         meridional wind stress   -->  fv
28  c  c
29  c         In order to get the appropriate fluxes users can either use  c         In order to get the appropriate fluxes users can either use
30  c         flux data directly or they can provide atmospheric states  c         flux data directly or they can provide atmospheric state
31  c         (atmospheric temperature, atmospheric specific humidity, etc.)  c         (atmospheric temperature, atmospheric specific humidity, etc.)
32  c         which are subsequently used to estimate the fluxes by using  c         which is subsequently used to estimate the fluxes by using
33  c         bulk parameterizations.  c         bulk parameterizations.
34  c  c
35  c   (b) Relaxation to monthly climatologies of:  c   (c) Relaxation to monthly climatologies of:
36  c  c
 c         potential temperature    -->  theta( k = 1,nr )  
 c         salinity                 -->  salt ( k = 1,nr )  
37  c         sea surface temperature  -->  theta( k = 1 )  c         sea surface temperature  -->  theta( k = 1 )
38  c         sea surface salinity     -->  salt ( k = 1 )  c         sea surface salinity     -->  salt ( k = 1 )
39    c         potential temperature    -->  theta( k = 1,nr )
40    c         salinity                 -->  salt ( k = 1,nr )
41  c  c
42  c         The relaxation can be done with relaxation coefficients  c         As of version 0.2.1, pkg/exf only supports the reading-in
43  c         that vary spatially. The corresponding routines will have  c         of the relaxation fields.  See TODO.txt for suggestions on
44  c         to be customized.  c         completing the relaxation package.
 c  
 c   (c) Generic Routine prefix for this package:  
 c  
 c         exf_<RoutineName>  
 c  
 c  
 c   Modifying the MITgcmUV:  
 c   -----------------------  
 c  
 c   The package is set up such that it can be easily added to the  
 c   MITgcmUV standard distribution. The following MITgcmUV files  
 c   have to be modified:  
 c  
 c     EXF_CPPOPTIONS.h    -  Append this file at of the MITgcmUV's  
 c                            "CPP_OPTIONS.h" file:  
 c  
 c                              #include "EXF_CPPOPTIONS.h"  
 c  
 c     the_model_main.F    -  Replace the call to initialise by two  
 c                            calls ( see below) and replace the call  
 c                            of load_external_fields by get_forcing.  
 c  
 c  
 c   Modifications in subroutine  
 c   THE_MODEL_MAIN (before c27):  
 c   ----------------------------  
 c   .  
 c   .  
 c   .  
 c   CALL TIMER_START('SPIN-UP',myThid)  
 c  
 c   C--   Set model initial conditions  
 c         CALL TIMER_START('INITIALISE          [SPIN-UP]',myThid)  
 c   #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE  
 c         call exf_InitialiseFixed( mythid )  
 c         call exf_InitialiseVaria( mythid )  
 c   #else  
 c         CALL INITIALISE( myThid )  
 c   #endif  
 c   .  
 c   .  
 c   .  
 c   C--   Begin time stepping loop  
 c         CALL TIMER_START('MAIN LOOP',myThid)  
 c         DO I=1, nTimeSteps  
 c  
 c   C--    Load forcing/external data fields  
 c          CALL TIMER_START('I/O (READ)         [MAIN LOOP]',myThid)  
 c   #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE  
 c          call exf_GetForcing(  
 c        I                      mycurrenttime,  
 c        I                      mycurrentiter,  
 c        I                      mythid  
 c        &                    )  
 c   #else  
 c          CALL LOAD_EXTERNAL_FIELDS( myCurrentTime, myCurrentIter, myThid )  
 c   #endif  
 c          CALL TIMER_STOP ('I/O (READ)         [MAIN LOOP]',myThid)  
 c   .  
 c   .  
 c   .  
45  c  c
46  c  c
47  c   Modifications in subroutine  c   Interface to MITgcm release1:
 c   THE_MODEL_MAIN (from c27 on):  
48  c   -----------------------------  c   -----------------------------
49  c   .  c
50  c   .  c   The following MITgcm files are affected by pkg/exf:
51  c   .  c
52  c  c     CPPOPTIONS.h         - Define INCLUDE_EXTERNAL_FORCING_PACKAGE
53  c  c                            and append desired pkg/exf CPP options.
54  c   Modifications in subroutine  c
55  c   FORWARD_STEP (from c27 on):  c     packages_readparms.F      - EXF_READPARMS
56  c   ---------------------------  c
57  c   .  c     packages_init_variables.F - EXF_INIT      
58  c   .  c
59  c   .  c     the_main_loop.F           - Adjoint compiler directives.
60  c   C--    Load forcing/external data fields  c
61  c          CALL TIMER_START('I/O (READ)         [MAIN LOOP]',myThid)  c     forward_step.F            - EXF_GETFORCING
 c   #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE  
 c          call exf_GetForcing(  
 c        I                      myCurrentTime,  
 c        I                      myCurrentIter,  
 c        I                      myThid  
 c        &                    )  
 c   #else  
 c          CALL LOAD_EXTERNAL_FIELDS( myCurrentTime, myCurrentIter, myThid )  
 c   #endif  
 c          CALL TIMER_STOP ('I/O (READ)         [MAIN LOOP]',myThid)  
 c   .  
 c   .  
 c   .  
 c  
 c  
 c   Modifications in subroutine  
 c   INITIALISE_FIXED (from c27 on):  
 c   -------------------------------  
 c   .  
 c   .  
 c   .  
 c   C--   Set coriolis operators  
 c         CALL INI_CORI( myThid )  
 c  
 c#ifdef INCLUDE_LAT_CIRC_FFT_FILTER_CODE  
 cC--   Latitude circle filter initialisation  
 c      CALL FILTER_LATCIRC_FFT_INIT(myThid)  
 c      _BARRIER  
 c#endif  
 c  
 c   #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE  
 c  
 c         call exf_Init( mythid )  
 c  
 c   #ifdef ALLOW_CLIMTEMP_RELAXATION  
 c   c--   Set the relaxation coefficient to the temperature climatology.  
 c         call exf_GetTempClimLambda(  
 c        I                            mythid  
 c        &                          )  
 c         _BARRIER  
 c   #endif  
 c   #ifdef ALLOW_CLIMSALT_RELAXATION  
 c   c--   Set the relaxation coefficient to the salinity climatology.  
 c         call exf_GetSaltClimLambda(  
 c        I                            mythid  
 c        &                          )  
 c         _BARRIER  
 c   #endif  
 c   #ifdef ALLOW_CLIMSST_RELAXATION  
 c   c--   Set the relaxation coefficient to the sst climatology.  
 c         call exf_GetSSTClimLambda(  
 c        I                           mythid  
 c        &                         )  
 c         _BARRIER  
 c   #endif  
 c   #ifdef ALLOW_CLIMSSS_RELAXATION  
 c   c--   Set the relaxation coefficient to the sss climatology.  
 c         call exf_GetSSSClimLambda(  
 c        I                           mythid  
 c        &                         )  
 c         _BARRIER  
 c   #endif  
 c   #endif  
 c  
 c   c--   Finally, summarise the model cofiguration.  
 c         CALL CONFIG_SUMMARY( myThid )  
 c   .  
 c   .  
 c   .  
 c  
 c  
 c   external_forcing.F  -  Add relaxation to climatological fields.  
 c  
 c  
 c   Modifications in subroutine  
 c   EXTERNAL_FORCING_T (taken from c25):  
 c   ------------------------------------  
 c   .  
 c   .  
 c   .  
 c   #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE  
 c   #include "exf_clim.h"  
 c   #endif  
 c   .  
 c   .  
 c   .  
 c   C--   Forcing term  
 c   C     Add heat in top-layer  
 c         IF ( kLev .EQ. 1 ) THEN  
 c          DO j=jMin,jMax  
 c           DO i=iMin,iMax  
 c            gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)  
 c        &  +maskC(i,j)*(  
 c        &   -lambdaThetaClimRelax*(theta(i,j,kLev,bi,bj)-SST(i,j,bi,bj))  
 c        &   -Qnet(i,j,bi,bj)*recip_Cp*recip_rhoNil*recip_dRf(kLev) )  
 c  
 c   #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE  
 c   #ifdef ALLOW_CLIMSST_RELAXATION  
 c            gt(i,j,klev,bi,bj) = gt(i,j,klev,bi,bj) -  
 c        &                        maskc(i,j)*lambda_climsst(i,j,bi,bj)*  
 c        &                        ( theta(i,j,klev,bi,bj) -  
 c        &                          climsst(i,j,bi,bj)     )  
 c   #endif  
 c   #endif  
 c  
 c           ENDDO  
 c          ENDDO  
 c         ENDIF  
 c  
 c   #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE  
 c   #ifdef ALLOW_CLIMTEMP_RELAXATION  
 c         do j=jmin,jmax  
 c          do i=imin,imax  
 c           gt(i,j,klev,bi,bj) = gt(i,j,klev,bi,bj) -  
 c        &                       maskc(i,j)*lambda_climtemp(i,j,klev,bi,bj)*  
 c        &                       ( theta(i,j,klev,bi,bj) -  
 c        &                         climtemp(i,j,klev,bi,bj) )  
 c          enddo  
 c         enddo  
 c   #endif  
 c   #endif  
 c   .  
 c   .  
 c   .  
 c  
 c  
 c   Modifications in subroutine  
 c   EXTERNAL_FORCING_S (taken from c25):  
 c   ------------------------------------  
 c   .  
 c   .  
 c   .  
 c   #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE  
 c   #include "exf_clim.h"  
 c   #endif  
 c   .  
 c   .  
 c   .  
 c   C--   Forcing term  
 c   C     Add fresh-water in top-layer  
 c         IF ( kLev .EQ. 1 ) THEN  
 c          DO j=jMin,jMax  
 c           DO i=iMin,iMax  
 c            gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)  
 c        &   +maskC(i,j)*(  
 c        &   -lambdaSaltClimRelax*(salt(i,j,kLev,bi,bj)-SSS(i,j,bi,bj))  
 c   #ifdef ALLOW_NATURAL_BCS  
 c        &   +EmPmR(i,j,bi,bj)*recip_dRf(1)*salt(i,j,kLev,bi,bj)  
 c   #else  
 c        &   +EmPmR(i,j,bi,bj)*recip_dRf(1)*35.  
 c   #endif  
 c        &   )  
 c  
 c   #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE  
 c   #ifdef ALLOW_CLIMSSS_RELAXATION  
 c            gs(i,j,kLev,bi,bj) = gs(i,j,kLev,bi,bj) -  
 c        &                        maskc(i,j)*lambda_climsss(i,j,bi,bj)*  
 c        &                        ( salt(i,j,kLev,bi,bj) -  
 c        &                          climsss(i,j,bi,bj)    )  
 c   #endif  
 c   #endif  
 c  
 c           ENDDO  
 c          ENDDO  
 c         ENDIF  
 c  
 c   #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE  
 c   #ifdef ALLOW_CLIMSALT_RELAXATION  
 c         do j=jmin,jmax  
 c          do i=imin,imax  
 c           gs(i,j,klev,bi,bj) = gs(i,j,klev,bi,bj) -  
 c        &                       maskc(i,j)*lambda_climsalt(i,j,klev,bi,bj)*  
 c        &                       ( salt(i,j,klev,bi,bj) -  
 c        &                         climsalt(i,j,klev,bi,bj) )  
 c          enddo  
 c         enddo  
 c   #endif  
 c   #endif  
 c   .  
 c   .  
 c   .  
62  c  c
63  c  c
64  c   CPP options:  c   CPP options:
# Line 308  c Line 69  c
69  c   >>> INCLUDE_EXTERNAL_FORCING_PACKAGE <<<  c   >>> INCLUDE_EXTERNAL_FORCING_PACKAGE <<<
70  c       Include this package into the setup.  c       Include this package into the setup.
71  c  c
72  c   >>> EXTERNAL_FORCING_VERBOSE <<<  c   >>> EXF_VERBOSE <<<
73  c       Do a bit more printout for the log file than usual.  c       Do a bit more printout for the log file than usual.
74  c  c
75  c   >>> ALLOW_BULKFORMULAE <<<  c   >>> ALLOW_BULKFORMULAE <<<
76  c       Use bulk formulae to in order to estimate the turbulent  c       Allows the use of bulk formulae in order to estimate
77  c       fluxes at the ocean's surface.  c       the turbulent fluxes at the ocean's surface.
78  c                                          c                                        
79  c   >>> ALLOW_ATM_TEMP <<<  c   >>> ALLOW_ATM_TEMP <<<
80  c       If defined use the atmospheric temperature and specific  c       Allows the use the atmospheric temperature and specific
81  c       humidity to estimate the sensible and latent heat fluxes.  c       humidity to estimate the sensible and latent heat fluxes.
82  c  c
83  c   >>> ALLOW_ATM_WIND <<<  c   >>> ALLOW_ATM_WIND <<<
84  c       If defined use the atmospheric wind field to estimate the  c       Allows the use the atmospheric wind field to estimate the
85  c       wind stress at the ocean's surface.  c       wind stress at the ocean's surface.
86  c  c
87    c   >>> EXF_NO_BULK_COMPUTATIONS <<<
88    c       If defined, no bulk formulae computations are carried out
89    c       within pkg/exf.  This option, in combination with
90    c       ALLOW_BULKFORMULAE, ALLOW_ATM_TEMP, and ALLOW_ATM_WIND
91    c       can be used to read-in the atmospheric state and pass it
92    c       on to a separate package for bulk formulae computations.
93    c
94    c   >>> EXF_READ_EVAP <<<
95    c       If defined, evaporation is read-in from a file, rather than
96    c       computed from atmospheric state.
97    c
98    c   >>> ALLOW_CLIM_CYCLIC <<<
99    c       If defined, relaxation file record numbers are assumed 1 to
100    c       12 corresponding to Jan. through Dec.  Otherwise relaxation
101    c       file record numbers are specified in data.exf_clim
102    c
103  c   >>> ALLOW_CLIMTEMP_RELAXATION <<<  c   >>> ALLOW_CLIMTEMP_RELAXATION <<<
104  c       Allow the relaxation to a monthly climatology of potential  c       Allow the relaxation to a monthly climatology of potential
105  c       temperature, e.g. the Levitus climatology.  c       temperature, e.g. the Levitus climatology.
# Line 395  c Line 172  c
172  c   Data files:  c   Data files:
173  c   -----------  c   -----------
174  c  c
175  c   There are 10 possible setups that can be covered by the external  c   data.exf      :: variables related to surface fluxes
176  c   forcing package. For each of these setups a data file is available.  c   data.exf_clim :: variables for relaxation to climatological fields
 c  
 c   data.forcing__blk__uat__uaw__kpp  
 c   data.forcing__blk__uat__uaw_nkpp  
 c   data.forcing__blk__uat_nuaw__kpp  
 c   data.forcing__blk__uat_nuaw_nkpp  
 c   data.forcing__blk_nuat__uaw__kpp  
 c   data.forcing__blk_nuat__uaw_nkpp  
 c   data.forcing__blk_nuat_nuaw__kpp  
 c   data.forcing__blk_nuat_nuaw_nkpp  
 c   data.forcing_nblk_nuat_nuaw__kpp  
 c   data.forcing_nblk_nuat_nuaw_nkpp  
 c  
 c   The naming convention is self-explanatory (hopefully).  
 c  
 c   Once a specified setup is decided upon use the corresponding data  
 c   file in order to set the file names for the individual variables and  
 c   provide the necessary calendar information.  
 c  
 c   Copy the appropriate data file to .../exe/data.exf  .  
 c                                      
177  c  c
178  c   Routines:  c   Routines:
179  c   ----------  c   ----------
# Line 428  c Line 185  c
185  c   Call trees:  c   Call trees:
186  c   -----------  c   -----------
187  c  c
188    c   exf_readparms
189    c     |
190    c     |---- exf_summary
191    c     |---- exf_clim_readparms
192    c     |---- exf_clim_summary
193    c
194  c  c
195  c   exf_Init  c   exf_Init
196  c     |  c     |
197  c     |---- exf_Summary  c     |---- exf_init_hflux
198  c     |---- exf_InitSurfaceFluxes  c     |---- exf_init_sflux
199  c     |---- exf_InitClimatology  c     |---- exf_init_ustress
200    c     |---- exf_init_vstress
201    c     |---- exf_init_evap
202    c     |---- exf_init_runoff
203    c     |---- exf_init_atemp
204    c     |---- exf_init_aqh
205    c     |---- exf_init_lwflux
206    c     |---- exf_init_swflux
207    c     |---- exf_init_precip
208    c     |---- exf_init_uwind
209    c     |---- exf_init_vwind
210    c     |---- exf_clim_init
211  c  c
212  c  c
213  c   exf_GetForcing  c   exf_GetForcing
214  c     |  c     |
215  c     |----  exf_GetTempClim  c     |----  exf_getclim
216  c     |----  exf_GetSaltClim  c     |----  exf_getffields
 c     |----  exf_GetSSTClim  
 c     |----  exf_GetSSSClim  
217  c     |----  exf_GetSurfaceFluxes  c     |----  exf_GetSurfaceFluxes
218  c     |----  exf_MapFields  c     |----  exf_MapFields
219  c  c
# Line 452  c   =============== Line 224  c   ===============
224  c  c
225  c   Getting the forcing fields:  c   Getting the forcing fields:
226  c  c
227  c   o exf_InitSurfaceFluxes - Initialise the external forcing fields.  c   o exf_init_???          - Initialise external forcing fields ???.
228  c  c
229  c   o exf_GetsurfaceFluxes  - Mid-level routine for adding fluxes as  c   o exf_GetsurfaceFluxes  - Mid-level routine for adding fluxes as
230  c                             control variables.  c                             control variables.
# Line 463  c   o exf_SwapFFields       - Swap data Line 235  c   o exf_SwapFFields       - Swap data
235  c  c
236  c   Routines specific to bulk formulae:  c   Routines specific to bulk formulae:
237  c  c
238  c   o exf_qSat              - Compute the saturation specific humidity.  c   o exf_bulkqsat          - Compute the saturation specific humidity.
239  c  c
240  c   o exf_Cdn               - Evaluate the neutral drag coefficient as a  c   o exf_bulkcdn           - Evaluate the neutral drag coefficient as a
241  c                             function of the mean wind speed at a given  c                             function of the mean wind speed at a given
242  c                             height.  c                             height.
243  c  c
244  c   o exf_Rhn               - Evaluate the Stanton number.  c   o exf_bulkrhn           - Evaluate the Stanton number.
245  c  c
246  c   Getting the time data (calendar):  c   Getting the time data (calendar):
247  c  c
# Line 479  c                             and the li Line 251  c                             and the li
251  c  c
252  c   Reading the forcing data:  c   Reading the forcing data:
253  c  c
254  c   o exf_ReadAtmTemp       - Read an atmospheric temperature record.  c   o exf_set_atemp         - Read an atmospheric temperature record.
255  c  c
256  c   o exf_ReadAtmQh         - Read an atmospheric humidity record.  c   o exf_set_aqh           - Read an atmospheric humidity record.
257  c  c
258  c   o exf_ReadHeatFlux      - Read an atmospheric heat flux record.  c   o exf_set_hflux         - Read an atmospheric heat flux record.
259  c  c
260  c   o exf_ReadZonStress     - Read an atmospheric zonal wind stress record.  c   o exf_set_ustress       - Read an atmospheric zonal wind stress record.
261  c  c
262  c   o exf_ReadMerStress     - Read an atmospheric meridional wind stress  c   o exf_set_vstress       - Read an atmospheric meridional wind stress
263  c                             record.  c                             record.
264  c  c
265  c   o exf_ReadZonWind       - Read an atmospheric zonal wind record.  c   o exf_set_uwind         - Read an atmospheric zonal wind record.
266  c  c
267  c   o exf_ReadMerWind       - Read an atmospheric meridional wind record.  c   o exf_set_vwind         - Read an atmospheric meridional wind record.
268  c  c
269  c   o exf_ReadAtmPrecip     - Read  a precipitation record.  c   o exf_set_precip        - Read  a precipitation record.
270  c  c
271  c   o exf_ReadSaltFlux      - Read  a salt flux record.  c   o exf_set_sflux         - Read  a salt flux record.
272  c  c
273  c   o exf_ReadLwFlux        - Read  a long  wave radiative flux record.  c   o exf_set_lwflux        - Read  a long  wave radiative flux record.
274  c  c
275  c   o exf_ReadSwFlux        - Read  a short wave radiative flux record.  c   o exf_set_swflux        - Read  a short wave radiative flux record.
276  c  c
277  c  c
278  c   At the moment, a basic premise of this package is that the external  c   At the moment, a basic premise of this package is that the external
# Line 513  c   ============ Line 285  c   ============
285  c   Climatology:  c   Climatology:
286  c   ============  c   ============
287  c  c
288  c   o exf_InitClimatology   - Initialise the climatology code.  c   o exf_clim_init         - Initialise the climatology code.
 c  
 c   o exf_GetMonthsRec      - Get the record number of a monthly  
 c                             climatology data set for a given model  
 c                             timestep.  
289  c  c
290  c   Temperature climatology:  c   o exf_set_climtemp      - Get the temperature climatology's
 c  
 c   o exf_GetTempClim       - Get the temperature climatology's  
291  c                             value for a given model timestep.  c                             value for a given model timestep.
292  c  c
293  c   o exf_GetTempClimRec    - Get the record number, the linear  c   o exf_set_climsalt      - Get the salinity climatology's
 c                             interpolation factor, and some flags  
 c                             for the temperature climatology.  
 c  
 c   o exf_ReadTempClim      - Read a temperature climatology's  
 c                             data record.  
 c  
 c   o exf_GetTempClimLambda - Calculate the relaxation coefficient  
 c                             for the temperature climatology.  
 c  
 c   Salinity climatology.  
 c  
 c   o exf_GetSaltClim       - Get the salinity climatology's  
294  c                             value for a given model timestep.  c                             value for a given model timestep.
295  c  c
296  c   o exf_GetSaltClimRec    - Get the record number, the linear  c   o exf_set_climsst       - Get the sea surface temp. climatology's
 c                             interpolation factor, and some flags  
 c                             for the salinity climatology.  
 c  
 c   o exf_ReadSaltClim      - Read a salinity climatology's  
 c                             data record.  
 c  
 c   o exf_GetSaltClimLambda - Calculate the relaxation coefficient  
 c                             for salinity climatology.  
 c  
 c   Sea surface temperature climatology.  
 c  
 c   o exf_GetSSTClim        - Get the sea surface temp. climatology's  
297  c                             value for a given model timestep.  c                             value for a given model timestep.
298  c  c
299  c   o exf_GetSSTClimRec     - Get the record number, the linear  c   o exf_set_climsss       - Get the sea surface salin. climatology's
 c                             interpolation factor, and some flags  
 c                             for the sea surface temp. climatology.  
 c  
 c   o exf_ReadSSTClim       - Read a sea surface temp. climatology's  
 c                             data record.  
 c  
 c   o exf_GetSSTClimLambda  - Calculate the relaxation coefficient  
 c                             for the sea surface temperature  
 c                             climatology.  
 c  
 c   Sea surface salinity climatology:  
 c  
 c   o exf_GetSSSClim        - Get the sea surface salin. climatology's  
300  c                             value for a given model timestep.  c                             value for a given model timestep.
301  c  c
 c   o exf_GetSSSClimRec     - Get the record number, the linear  
 c                             interpolation factor, and some flags  
 c                             for the sea surface salin. climatology.  
 c  
 c   o exf_ReadSSSClim       - Read a sea surface salin. climatology's  
 c                             data record.  
 c  
 c   o exf_GetSSSClimLambda  - Calculate the relaxation coefficient  
 c                             for the sea surface salinity  
 c                             climatology.  
 c  
302  c  c
303  c   HOW TO GET STARTED?  c   HOW TO GET STARTED?
304  c  c
305  c   Copy the routines and headers to the distribution after you have  c   There are two verification experiments, global_with_exf and
306  c   installed the latter. Next, install the calendar tool, which is  c   lab_sea that use pkg/exf.  Experiment verification/global_with_exf
307  c   quite extenisvely used by the external forcing package.  c   is a repeat of verification/global_ocean.90x40x15, except that it
308  c  c   uses the pkg/exf and pkg/cal instead of the external_fields_load
309  c   http://mitgcm.lcs.mit.edu/cgi-bin/cvsweb/packages/calendar_tool/  c   routine.  Experiment verification/lab_sea gives exaples of using
310    c   pkg/exf in conjunction with pkg/seaice.
311  c  c
312  c  c
313  c   ATTENTION:  c   ATTENTION:
# Line 607  c     external_forcing.F Line 326  c     external_forcing.F
326  c  c
327  c   Relevant external forcing package routines are:  c   Relevant external forcing package routines are:
328  c  c
329  c     exf_ReadHeatFlux  c     exf_set_hflux
330  c     .  c     .
331  c     .  c     .
332  c     exf_ReadZonWind  c     exf_set_vwind
333  c     exf_MapFields  c     exf_MapFields
334  c  c
335  c   All adaptations of signs and units to specific data sets should be  c   All adaptations of signs and units to specific data sets should be
# Line 622  c Line 341  c
341  c   Some routines have to be customized for the current specific  c   Some routines have to be customized for the current specific
342  c   application:  c   application:
343  c  c
344  c     e.g. exf_GetClimTempLambda  c     e.g. exf_set_climtemp
345  c          exf_GetClimSaltLambda  c          exf_set_climsalt
346  c          exf_GetClimSSTLambda  c          exf_set_climsst
347  c          exf_GetClimSSSLambda  c          exf_set_climsss
 c  
348  c  c
349  c  c
 c   To Do:  
 c   ------  
 c  
 c   Many assumptions that are made in the current version should, and  
 c   can, be relaxed in later versions:  
 c  
 c   - gridded data sets    -->  general data set (other grids, inter-  
 c                                                 polation in space)  
 c  
 c   - equidistancy in time -->  general data set (non-equidistant in  
 c                                                 time)  
 c  
 c   - climatologies        -->  arbitrary subinterval of a year, not  
 c                               just monthly values.  
 c  
 c   - relaxation           -->  relaxation could be done to a given  
 c                               data set over the model's integration  
 c                               time. This would generalise the clima-  
 c                               tology block. One could have 'cyclic'  
 c                               and 'non-cyclic' fields. In the first  
 c                               case, the cycle length has to be spe-  
 c                               cified ('monthly','yearly','period') as  
 c                               well as the start of the cycle ( irec=1  
 c                               corresponds to a certain calendar date).  
 c                               The second case can be treated analog-  
 c                               ously.  
 c  
 c   - There is an inconsistency in the formulation of frocing variables  
 c     defined on southern and western points on the C-grid, since the  
 c     the atmospheric stability is calculated on center points of the  
 c     C-grid.  
 c  
350  c   ========  c   ========
351  c   HISTORY:  c   HISTORY:
352  c   ========  c   ========
353  c  c
 c  
354  c   started: Christian Eckert eckert@mit.edu  30-Jun-1999  c   started: Christian Eckert eckert@mit.edu  30-Jun-1999
355  c  c
356  c   changed: Christian Eckert eckert@mit.edu  11-Jan-2000  c   changed: Christian Eckert eckert@mit.edu  11-Jan-2000
# Line 725  c Line 410  c
410  c            - Included unit and sign conventions valid for c28  c            - Included unit and sign conventions valid for c28
411  c              in README.  c              in README.
412  c  c
413    c            Dimitris Menemenlis menemenlis@jpl.nasa.gov 20-Dec-2002
414    c
415    c            - Modifications for using pkg/exf with pkg/seaice.
416    c
417  c   ==================================================================  c   ==================================================================

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22