Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:40:46 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
521db80798 Jean*0001 C     ==================================================================
                0002 C     HEADER flt
                0003 C     ==================================================================
                0004 C
                0005 C     o This header file contains variables that are used by the
                0006 C       flt package.
                0007 C
                0008 C     ==================================================================
                0009 C     HEADER flt
                0010 C     ==================================================================
c806179eb4 Alis*0011 
521db80798 Jean*0012 C== Constant ==
                0013 
                0014 C     flt_surf    :: "surface" level of the floats.
                0015 C                    Can be deeper than 1, e.g. IF no mixed layer model is used
                0016 C     flt_nan     :: qualifier for a float that is not yet released or that died
                0017       _RL flt_surf
                0018       _RL flt_nan
                0019       PARAMETER (flt_surf = 1.)
                0020       PARAMETER (flt_nan = -999.)
                0021 
                0022 C     Full domain extension:
                0023 C     flt_xLo     :: Full domain lower X boundary
                0024 C     flt_xHi     :: Full domain upper X boundary
                0025 C     flt_yLo     :: Full domain lower Y boundary
d5477ff298 Jean*0026 C     flt_yHi     :: Full domain upper Y boundary
40b8247bc0 Jean*0027 
521db80798 Jean*0028       _RL    flt_xLo, flt_xHi, flt_yLo, flt_yHi
                0029       COMMON / FLT_CONST_R /
                0030      &       flt_xLo, flt_xHi, flt_yLo, flt_yHi
                0031 
                0032 C== Parameters ==
                0033 
                0034 C     flt_noise   :: range of noise added to the velocity component
                0035 C                    (randomly). The noise can be added or subtracted,
                0036 C                    the range is +/- flt_noise/2
c84b484b2a Davi*0037 C    flt_deltaT   :: time-step to step forward floats (in flt_runga2.F)
                0038 C                    default is deltaTClock
521db80798 Jean*0039 C    flt_int_traj :: period between storing model state at float position, in s
                0040 C    flt_int_prof :: period between float vertical profiles, in s
77b2b58e49 Davi*0041 C    FLT_Iter0    :: timestep number when float are initialized
521db80798 Jean*0042 C
                0043 C    note:  flt_int_prof is the time between getting profiles, not the
                0044 C           the return  cycle of the float to the surface. The latter can
                0045 C           be specified individually for every float. Because the mechanism
3992cf11bb Jean*0046 C           for returning to the surface is called in the profiling routine
521db80798 Jean*0047 C           flt_int_prof has to be the minimum of all iup(max_npart).
                0048 C           The subsampling of profiles can be done later in the analysis.
40b8247bc0 Jean*0049 
c84b484b2a Davi*0050       _RL flt_noise, flt_deltaT
521db80798 Jean*0051       _RL flt_int_traj, flt_int_prof
77b2b58e49 Davi*0052       INTEGER FLT_Iter0
521db80798 Jean*0053       COMMON / FLT_PARAM_R /
c84b484b2a Davi*0054      &       flt_noise, flt_deltaT,
77b2b58e49 Davi*0055      &       flt_int_traj, flt_int_prof,
                0056      &       FLT_Iter0
521db80798 Jean*0057 
3992cf11bb Jean*0058 C  flt_selectTrajOutp :: select which var. to output along trajectories
                0059 C  flt_selectProfOutp :: select which var. to output along profiles
                0060 C                        =0 : none ; =1 : position only ; =2 : +p,u,v,t,s
                0061       INTEGER flt_selectTrajOutp
                0062       INTEGER flt_selectProfOutp
                0063       COMMON / FLT_PARAM_I /
                0064      &       flt_selectTrajOutp, flt_selectProfOutp
                0065 
521db80798 Jean*0066 C     flt_file    :: name of the file containing the initial positions.
                0067 C                    At initialization the program first looks for a
                0068 C                    global file flt_file.data. If that is not found it
                0069 C                    looks for tiled files flt_file.iG.jG.data.
                0070       CHARACTER*(MAX_LEN_FNAM) flt_file
                0071       COMMON / FLT_PARAM_C / flt_file
c806179eb4 Alis*0072 
40b8247bc0 Jean*0073 C     mapIniPos2Index :: convert float initial position to (local) index map
                0074       LOGICAL mapIniPos2Index
                0075       COMMON / FLT_PARAM_L / mapIniPos2Index
                0076 
521db80798 Jean*0077 C== Float State ==
                0078 
                0079 C     npart_tile  :: actual number of floats per tile
c806179eb4 Alis*0080       INTEGER npart_tile(nSx,nSy)
521db80798 Jean*0081       COMMON / FLT_STATE_I / npart_tile
                0082 
                0083 C     max_npart   :: total number of floats
                0084 C                    (this is read from the input files)
                0085       _RL   max_npart
                0086       COMMON / FLT_STATE_R / max_npart
c806179eb4 Alis*0087 
521db80798 Jean*0088 C     npart       :: float identifier
                0089 C     tstart      :: start date of integration of float, in s.
                0090 C                    Note: If tstart=-1 floats are integrated right from the
                0091 C                          beginning
                0092 C     tend        :: end date of integration of float, in s.
                0093 C                    Note: If tend=-1 floats are integrated till the end of
                0094 C                          integration
d5477ff298 Jean*0095 C     ipart       :: horiz. position of float : 1rst decimal (local) index
                0096 C     jpart       :: horiz. position of float :  2nd decimal (local) index
                0097 C     kpart       :: vertical level of float (decimal number in case of 3D float)
521db80798 Jean*0098 C     kfloat      :: target depth of float.
d5477ff298 Jean*0099 C     iup         :: type of float :
                0100 C                  o should profile   ( >  0 = return  cycle, in s, to surface)
                0101 C                  o remain at depth  ( =  0 )
                0102 C                  o is a 3D float    ( = -1 )
                0103 C                  o should be advected without additional noise ( = -2 ).
521db80798 Jean*0104 C                    This implies that the float is non-profiling
d5477ff298 Jean*0105 C                  o is a mooring     ( = -3 ), i.e. the float is not advected
521db80798 Jean*0106 C     itop        :: time of float the surface, in s
c806179eb4 Alis*0107       _RL     npart(max_npart_tile,nSx,nSy)
                0108       _RL    tstart(max_npart_tile,nSx,nSy)
                0109       _RL      tend(max_npart_tile,nSx,nSy)
d5477ff298 Jean*0110       _RL     ipart(max_npart_tile,nSx,nSy)
                0111       _RL     jpart(max_npart_tile,nSx,nSy)
c806179eb4 Alis*0112       _RL     kpart(max_npart_tile,nSx,nSy)
                0113       _RL    kfloat(max_npart_tile,nSx,nSy)
                0114       _RL       iup(max_npart_tile,nSx,nSy)
                0115       _RL      itop(max_npart_tile,nSx,nSy)
                0116 
521db80798 Jean*0117       COMMON / FLT_STATE_VAR /
                0118      &       npart, tstart, tend,
d5477ff298 Jean*0119      &       ipart, jpart, kpart,
521db80798 Jean*0120      &       kfloat, iup, itop
c806179eb4 Alis*0121 
521db80798 Jean*0122 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|