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

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

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

revision 1.5 by dimitri, Thu Aug 7 02:31:29 2003 UTC revision 1.6 by dimitri, Tue Sep 23 04:34:25 2003 UTC
# Line 1  Line 1 
1  c   To Do:  c   To Do:
2  c   ------  c   ------
3  c  c
4  c   Selection of forcing fields  c   Get rid of *clim* files and absorb the code in the non-clim
5  c  c   equivalents.  There is no reason to distinguish climatological
6  c      1. Cyclic forcing should be available for each field type  c   variables from others input fields.  VAriable repeatPeriod
7  c         (surface forcing and relaxation to climatology).  c   makes ALLOW_CLIM_CYCLIC obsolete.
 c  
 c   Cleaning package  
8  c  c
9  c   Many assumptions that are made in the current version should, and  c   Many assumptions that are made in the current version should, and
10  c   can, be relaxed in later versions:  c   can, be relaxed in later versions:
# Line 28  c                               well as Line 26  c                               well as
26  c                               corresponds to a certain calendar date).  c                               corresponds to a certain calendar date).
27  c                               The second case can be treated analog-  c                               The second case can be treated analog-
28  c                               ously.  c                               ously.
 c  
 c  
 c   Notes regarding more complete implementation of relaxation  
 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   .  

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22