New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 1970 for branches/DEV_r1784_mid_year_merge_2010 – NEMO

Ignore:
Timestamp:
2010-06-25T16:58:03+02:00 (14 years ago)
Author:
acc
Message:

ticket #684 step 5: Add in changes from the trunk between revisions 1821 and 1879.

Location:
branches/DEV_r1784_mid_year_merge_2010
Files:
41 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_LIM/IGCM00/COMP/opa9.driver

    r1953 r1970  
    4949    (( DaysSinceJC = $( IGCM_date_DaysSinceJC ${DateBegin} ) + 1 )) 
    5050 
    51     # Definition from opa9.card of List_jobsbc used to do to interannual and climatological runs  
     51    # Definition from opa9.card of List_jobsbc and List_runsbc used to do to interannual and climatological runs  
    5252   IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/COMP/opa9.card Interannual List_jobsbc 
    5353        set -A ListFormulationJobsbc -- \${opa9_Interannual_Listjobsc${opa9_Interannual_List_jobsbc}[*]} 
     
    7171   typeset file  
    7272 
    73    (( final_year =${InitYear} + ${PeriodLengthInYears} - 1 )) 
     73   (( PeriodCumulPeriod =  ${CumulPeriod} - 1 ))  
     74   (( PeriodInitYear =${InitYear} + ${PeriodCumulPeriod} * ${PeriodLengthInYears} )) 
     75   (( PeriodFinalYear =${InitYear} + ${PeriodLengthInYears}*${CumulPeriod} - 1 )) 
     76 
    7477        NbFileInter=${#opa9_Interannual_List_jobsbc[*]} 
    75  
    7678        (( NbFileInter_tot=${#opa9_Interannual_List_jobsbc[*]} * ${PeriodLengthInYears} )) 
    77  
    7879   (( i = 0 )) 
    7980 
    80    while [ ${year} -le ${final_year} ] ; do #copy in ONCE of ALL necessary files for all PeriodLength 
     81   while [ ${year} -le ${PeriodFinalYear} ] ; do #copy in ONCE of ALL necessary files for all PeriodLength 
    8182        
    8283       while [ $i -lt ${NbFileInter} ] ; do 
    8384       
    8485      eval file=${opa9_Interannual_List_jobsbc[$i]} 
    85       # download (year-1) if it is first year and first month of run 
    86       if [ X${year} = X${InitYear} ] ; then   
    87             if [ X${Period} = X1 ] ; then 
     86      if [ X${year} = X${PeriodInitYear} ] ; then   
    8887                           if [ ${month} -eq 01 ] ; then 
    89                   # if year-1 does not exist create a dummy file (NEMO will use same year) 
     88                  # if year-1 does not exist we copy year in (year-1) 
    9089                  eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year - 1 )).nc 
    9190                  if  [ ! -f ${jobsbc_file_ym1} ] ; then 
     
    9796                  fi 
    9897 
    99                               IGCM_sys_Get ${jobsbc_file_ym1} ${runsbc_file_ym1} 
     98                            IGCM_sys_Get ${jobsbc_file_ym1} ${runsbc_file_ym1} 
    10099                           fi 
    101                     fi 
    102100      fi 
    103101       
     
    111109       
    112110      # download (year+1) if it is last year of run 
    113       if [ X${year} = X${final_year} ] ; then    
     111      if [ X${year} = X${PeriodFinalYear} ] ; then     
    114112    
    115113          eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 
     
    118116          if  [ ! -f ${runsbc_file_yp1} ] ; then 
    119117          
    120               # if year+1 does not exist create a dummy file (NEMO will use same year) 
     118              # if year+1 does not exist we copy year in (year+1) 
    121119         if  [ ! -f ${jobsbc_file_yp1} ] ; then 
    122              eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 
    123                 eval runsbc_file_ym1=${file}_noy.nc 
     120             eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 
     121                eval runsbc_file_yp1=${file}_noy.nc 
    124122         else 
    125              eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 
    126              eval runsbc_file_ym1=${file}_y$(( year + 1 )).nc 
     123             eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 
     124             eval runsbc_file_yp1=${file}_y$(( year + 1 )).nc 
    127125         fi 
    128126         IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1} 
     
    138136       (( i = 0 )) 
    139137   done 
     138 
    140139    # End interannual 
    141140    elif [ X${opa9_UserChoices_Interannual_Run} = Xn ] ; then 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_LIM_PISCES/EXP00/iodef.xml

    r1772 r1970  
    245245       <field id="PFeN"        description="Primary production of nano iron"          unit="mol-Fe/m3/s"  axis_ref="deptht" /> 
    246246       <field id="PFeD"        description="Primary production of diatoms iron"       unit="mol-Fe/m3/s"  axis_ref="deptht" /> 
    247        <field id="Pcal"        description="Calcite production"                       unit="mol-C/m3/s"   axis_ref="deptht" /> 
    248        <field id="Dcal"        description="Calcite dissolution"                      unit="mol-C/m3/s"   axis_ref="deptht" /> 
    249        <field id="Graz"        description="Grazing by microzoo"                      unit="mol-C/m3/s"   axis_ref="deptht" /> 
    250        <field id="Graz2"       description="Grazing by mesozoo"                       unit="mol-C/m3/s"   axis_ref="deptht" /> 
    251        <field id="Nfix"        description="Nitrogen fixation"                        unit="mol-N/m2/s"   axis_ref="deptht" /> 
    252        <field id="ExpPOC"      description="POC export"                               unit="mol-C/m2/s"   axis_ref="deptht" /> 
    253        <field id="ExpGOC"      description="GOC export"                               unit="mol-C/m2/s"   axis_ref="deptht" /> 
    254        <field id="ExpFe1"      description="Nano iron export"                         unit="mol-Fe/m2/s"  axis_ref="deptht" /> 
    255        <field id="ExpFe2"      description="Diatoms iron export"                      unit="mol-Fe/m2/s"  axis_ref="deptht" /> 
    256        <field id="ExpSi"       description="Silicate export"                          unit="mol-Si/m2/s"  axis_ref="deptht" /> 
    257        <field id="Expcal"      description="Calcite export"                           unit="mol-C/m2/s"   axis_ref="deptht" /> 
    258        <field id="Cflx"        description="DIC flux"                                 unit="mol-C/m2/s" /> 
     247       <field id="PCAL"        description="Calcite production"                       unit="mol-C/m3/s"   axis_ref="deptht" /> 
     248       <field id="DCAL"        description="Calcite dissolution"                      unit="mol-C/m3/s"   axis_ref="deptht" /> 
     249       <field id="GRAZ"        description="Grazing by zooplankton"                   unit="mol-C/m3/s"   axis_ref="deptht" /> 
     250       <field id="Nfix"        description="Nitrogen fixation at surface"             unit="mol-N/m2/s"      /> 
     251       <field id="EPC100"      description="Export of carbon particles at 100 m"      unit="mol-C/m2/s"      /> 
     252       <field id="EPFE100"     description="Export of biogenic iron at 100 m"         unit="mol-Fe/m2/s"     /> 
     253       <field id="EPSI100"     description="Export of Silicate at 100 m"              unit="mol-Si/m2/s"     /> 
     254       <field id="EPCAL100"    description="Export of Calcite at 100 m"               unit="mol-C/m2/s"      /> 
     255       <field id="Cflx"        description="DIC flux"                                 unit="mol-C/m2/s"      /> 
    259256       <field id="Oflx"        description="Oxygen flux"                              unit="mol-C/m2/s" /> 
    260257       <field id="Kg"          description="Gas transfer"                             unit="mol-C/m2/s/uatm" /> 
     
    480477          <field ref="PFeN"     /> 
    481478          <field ref="PFeD"     /> 
    482           <field ref="Pcal"     /> 
    483           <field ref="Dcal"     /> 
    484           <field ref="Graz"     /> 
    485           <field ref="Graz2"    /> 
     479          <field ref="PCAL"     /> 
     480          <field ref="DCAL"     /> 
     481          <field ref="GRAZ"     /> 
     482          <field ref="EPC100"   /> 
     483          <field ref="EPFE100"  /> 
     484          <field ref="EPSI100"  /> 
     485          <field ref="EPCAL100" /> 
    486486          <field ref="Cflx"     /> 
    487           <field ref="ExpPOC"   /> 
    488           <field ref="ExpGOC"   /> 
    489           <field ref="ExpFe1"   /> 
    490           <field ref="ExpFe2"   /> 
    491           <field ref="ExpSi"    /> 
    492           <field ref="Expcal"   /> 
    493487          <field ref="Oflx"     /> 
    494488          <field ref="Kg"       /> 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/ORCA2_OFF_PISCES/EXP00/iodef.xml

    r1772 r1970  
    5858       <field id="PFeN"        description="Primary production of nano iron"          unit="mol-Fe/m3/s"  axis_ref="deptht" /> 
    5959       <field id="PFeD"        description="Primary production of diatoms iron"       unit="mol-Fe/m3/s"  axis_ref="deptht" /> 
    60        <field id="Pcal"        description="Calcite production"                       unit="mol-C/m3/s"   axis_ref="deptht" /> 
    61        <field id="Dcal"        description="Calcite dissolution"                      unit="mol-C/m3/s"   axis_ref="deptht" /> 
    62        <field id="Graz"        description="Grazing by microzoo"                      unit="mol-C/m3/s"   axis_ref="deptht" /> 
    63        <field id="Graz2"       description="Grazing by mesozoo"                       unit="mol-C/m3/s"   axis_ref="deptht" /> 
    64        <field id="Nfix"        description="Nitrogen fixation"                        unit="mol-N/m2/s"   axis_ref="deptht" /> 
    65        <field id="ExpPOC"      description="POC export"                               unit="mol-C/m2/s"   axis_ref="deptht" /> 
    66        <field id="ExpGOC"      description="GOC export"                               unit="mol-C/m2/s"   axis_ref="deptht" /> 
    67        <field id="ExpFe1"      description="Nano iron export"                         unit="mol-Fe/m2/s"  axis_ref="deptht" /> 
    68        <field id="ExpFe2"      description="Diatoms iron export"                      unit="mol-Fe/m2/s"  axis_ref="deptht" /> 
    69        <field id="ExpSi"       description="Silicate export"                          unit="mol-Si/m2/s"  axis_ref="deptht" /> 
    70        <field id="Expcal"      description="Calcite export"                           unit="mol-C/m2/s"   axis_ref="deptht" /> 
     60       <field id="PCAL"        description="Calcite production"                       unit="mol-C/m3/s"   axis_ref="deptht" /> 
     61       <field id="DCAL"        description="Calcite dissolution"                      unit="mol-C/m3/s"   axis_ref="deptht" /> 
     62       <field id="GRAZ"        description="Grazing by zooplankton"                   unit="mol-C/m3/s"   axis_ref="deptht" /> 
     63       <field id="Nfix"        description="Nitrogen fixation at surface"             unit="mol-N/m2/s"      /> 
     64       <field id="EPC100"      description="Export of carbon particles at 100 m"      unit="mol-C/m2/s"      /> 
     65       <field id="EPFE100"     description="Export of biogenic iron at 100 m"         unit="mol-Fe/m2/s"     /> 
     66       <field id="EPSI100"     description="Export of Silicate at 100 m"              unit="mol-Si/m2/s"     /> 
     67       <field id="EPCAL100"    description="Export of Calcite at 100 m"               unit="mol-C/m2/s"      /> 
    7168       <field id="Cflx"        description="DIC flux"                                 unit="mol-C/m2/s" /> 
    7269       <field id="Oflx"        description="Oxygen flux"                              unit="mol-C/m2/s" /> 
     
    177174          <field ref="PFeN"     /> 
    178175          <field ref="PFeD"     /> 
    179           <field ref="Pcal"     /> 
    180           <field ref="Dcal"     /> 
    181           <field ref="Graz"     /> 
    182           <field ref="Graz2"    /> 
     176          <field ref="PCAL"     /> 
     177          <field ref="DCAL"     /> 
     178          <field ref="GRAZ"     /> 
     179          <field ref="EPC100"   /> 
     180          <field ref="EPFE100"  /> 
     181          <field ref="EPSI100"  /> 
     182          <field ref="EPCAL100" /> 
    183183          <field ref="Cflx"     /> 
    184           <field ref="ExpPOC"   /> 
    185           <field ref="ExpGOC"   /> 
    186           <field ref="ExpFe1"   /> 
    187           <field ref="ExpFe2"   /> 
    188           <field ref="ExpSi"    /> 
    189           <field ref="Expcal"   /> 
    190184          <field ref="Oflx"     /> 
    191185          <field ref="Kg"       /> 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/POMME/EXP00/namelist

    r1730 r1970  
    120120                           !                       =2 combination of 0 and 1 cases             ("key_lim3" only) 
    121121   ln_dm2dc    = .false.   !  daily mean to diurnal cycle short wave (qsr) 
    122    ln_rnf      = .true.    !  runoffs (T => fill namsbc_rnf) 
     122   ln_rnf      = .false.    !  runoffs (T => fill namsbc_rnf) 
    123123   ln_ssr      = .true.    !  Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) 
    124124   nn_fwb      = 0         !  FreshWater Budget: =0 unchecked  
     
    170170!              !   file name      ! frequency (hours) ! variable   ! time interpol. !  clim   ! 'yearly'/ ! weights  ! rotation ! 
    171171!              !                  !  (if <0  months)  !   name     !    (logical)   !  (T/F)  ! 'monthly' ! filename ! pairing  ! 
    172    sn_wndi     = 'u10_1988'       ,       24          , 'u10'      ,    .true.      , .false. ,   'yearly' , '' 
    173    sn_wndj     = 'v10_1988'       ,       24          , 'v10'      ,    .true.      , .false. ,   'yearly' , '' 
    174    sn_qsr      = 'radsw_1988'     ,       24          , 'radsw'    ,    .true.      , .false. ,   'yearly' , '' 
    175    sn_qlw      = 'radlw_1988'     ,       24          , 'radlw'    ,    .true.      , .false. ,   'yearly' , '' 
    176    sn_tair     = 't2_1988.nc'     ,       24          , 't2'       ,    .true.      , .false. ,   'yearly' , '' 
    177    sn_humi     = 'q2_1988'        ,       24          , 'q2'       ,    .true.      , .false. ,   'yearly' , '' 
    178    sn_prec     = 'precip_1988.nc' ,       -1          , 'precip'   ,    .true.      , .false. ,   'yearly' , '' 
    179    sn_tdif     = 'taudif_core'    ,       24          , 'taudif'   ,    .true.      , .true.  ,   'yearly'  ,'' 
     172   sn_wndi     = 'u10_1988'       ,       24          , 'u10'      ,    .true.      , .true. ,   'yearly' , '' 
     173   sn_wndj     = 'v10_1988'       ,       24          , 'v10'      ,    .true.      , .true. ,   'yearly' , '' 
     174   sn_qsr      = 'radsw_1988'     ,       24          , 'radsw'    ,    .true.      , .true. ,   'yearly' , '' 
     175   sn_qlw      = 'radlw_1988'     ,       24          , 'radlw'    ,    .true.      , .true. ,   'yearly' , '' 
     176   sn_tair     = 't2_1988.nc'     ,       24          , 't2'       ,    .true.      , .true. ,   'yearly' , '' 
     177   sn_humi     = 'q2_1988'        ,       24          , 'q2'       ,    .true.      , .true. ,   'yearly' , '' 
     178   sn_prec     = 'precip_1988.nc' ,       -1          , 'precip'   ,    .true.      , .true. ,   'yearly' , '' 
     179   sn_snow     = 'precip_1988.nc' ,       -1          , 'precip'   ,    .true.      , .true. ,   'yearly' , '' 
    180180! 
    181181   cn_dir      = './'      !  root directory for the location of the bulk files 
     
    223223  
    224224   cn_dir      = './'      !  root directory for the location of the runoff files 
    225    ln_traqsr   = .true.    !  Light penetration (T) or not (F) 
    226    ln_qsr_rgb  = .true.    !  RGB (Red-Green-Blue) light penetration 
     225   ln_traqsr   = .false.    !  Light penetration (T) or not (F) 
     226   ln_qsr_rgb  = .false.    !  RGB (Red-Green-Blue) light penetration 
    227227   ln_qsr_2bd  = .false.   !  2 bands              light penetration 
    228228   ln_qsr_bio  = .false.   !  bio-model light penetration 
     
    366366&nambfr        !   bottom friction 
    367367!----------------------------------------------------------------------- 
    368    nn_bfr      =    3      !  type of bottom friction :   = 0 : no   slip,  = 2 : nonlinear friction 
     368   nn_bfr      =    2      !  type of bottom friction :   = 0 : no   slip,  = 2 : nonlinear friction 
    369369                           !                              = 3 : free slip,  = 1 :    linear friction 
    370370   rn_bfri1    =    4.e-4  !  bottom drag coefficient (linear case) 
  • branches/DEV_r1784_mid_year_merge_2010/CONFIG/POMME/scripts/BB_make

    r1953 r1970  
    153153     key_oasis4 \ 
    154154     key_obc \ 
     155     key_off_tra \ 
    155156     key_orca_lev10 \ 
    156157     key_orca_r025 \ 
     
    178179     key_vvl \ 
    179180     key_zco \ 
     181     key_zco \ 
    180182     key_zdfcst \ 
    181183     key_zdfddm \ 
     
    189191      $(MODEL_LIB)(lib_cray.o)\ 
    190192      $(MODEL_LIB)(lib_print.o)\ 
     193      $(MODEL_LIB)(agrif_oce.o)\ 
    191194      $(MODEL_LIB)(agrif_opa_interp.o)\ 
    192195      $(MODEL_LIB)(agrif_opa_sponge.o)\ 
    193196      $(MODEL_LIB)(agrif_opa_update.o)\ 
     197      $(MODEL_LIB)(agrif_top_interp.o)\ 
     198      $(MODEL_LIB)(agrif_top_sponge.o)\ 
     199      $(MODEL_LIB)(agrif_top_update.o)\ 
     200      $(MODEL_LIB)(agrif_user.o)\ 
    194201      $(MODEL_LIB)(albedo.o)\ 
    195202      $(MODEL_LIB)(bdy_oce.o)\ 
     
    561568      @if [ -f $(PREF)$*.L ] ; then mv $(PREF)$*.L $(TMP) ; fi 
    562569 
     570$(MODEL_LIB)(agrif_oce.o) :   \ 
     571   $(MODEL_LIB)(par_kind.o) \ 
     572   $(MODEL_LIB)(par_oce.o) \ 
     573   par_kind.F90 \ 
     574   par_oce.F90 \ 
     575   $(MODEL_LIB)(dom_oce.o) \ 
     576   $(MODEL_LIB)(par_oce.o) \ 
     577   dom_oce.F90 \ 
     578   par_oce.F90 \ 
     579   KEY_CPP \ 
     580   agrif_oce.F90 
    563581$(MODEL_LIB)(agrif_opa_interp.o) :  \ 
     582   $(MODEL_LIB)(dom_oce.o) \ 
     583   $(MODEL_LIB)(in_out_manager.o) \ 
     584   $(MODEL_LIB)(lib_print.o) \ 
     585   $(MODEL_LIB)(par_kind.o) \ 
     586   $(MODEL_LIB)(par_oce.o) \ 
     587   dom_oce.F90 \ 
     588   in_out_manager.F90 \ 
     589   lib_print.f90 \ 
     590   par_kind.F90 \ 
     591   par_oce.F90 \ 
     592   $(MODEL_LIB)(agrif_oce.o) \ 
     593   $(MODEL_LIB)(dom_oce.o) \ 
     594   $(MODEL_LIB)(in_out_manager.o) \ 
     595   $(MODEL_LIB)(oce.o) \ 
     596   $(MODEL_LIB)(par_oce.o) \ 
     597   $(MODEL_LIB)(phycst.o) \ 
     598   $(MODEL_LIB)(sol_oce.o) \ 
     599   agrif_oce.F90 \ 
     600   dom_oce.F90 \ 
     601   in_out_manager.F90 \ 
     602   oce.F90 \ 
     603   par_oce.F90 \ 
     604   phycst.F90 \ 
     605   sol_oce.F90 \ 
     606   domzgr_substitute.h90 \ 
     607   vectopt_loop_substitute.h90 \ 
     608   $(AGRIF_LIB) \ 
     609   KEY_CPP \ 
    564610   agrif_opa_interp.F90 
    565611$(MODEL_LIB)(agrif_opa_sponge.o) :  \ 
     612   $(MODEL_LIB)(dom_oce.o) \ 
     613   $(MODEL_LIB)(lib_print.o) \ 
     614   $(MODEL_LIB)(par_kind.o) \ 
     615   $(MODEL_LIB)(par_oce.o) \ 
     616   dom_oce.F90 \ 
     617   lib_print.f90 \ 
     618   par_kind.F90 \ 
     619   par_oce.F90 \ 
     620   $(MODEL_LIB)(agrif_oce.o) \ 
     621   $(MODEL_LIB)(dom_oce.o) \ 
     622   $(MODEL_LIB)(in_out_manager.o) \ 
     623   $(MODEL_LIB)(oce.o) \ 
     624   $(MODEL_LIB)(par_oce.o) \ 
     625   agrif_oce.F90 \ 
     626   dom_oce.F90 \ 
     627   in_out_manager.F90 \ 
     628   oce.F90 \ 
     629   par_oce.F90 \ 
     630   domzgr_substitute.h90 \ 
     631   $(AGRIF_LIB) \ 
     632   KEY_CPP \ 
    566633   agrif_opa_sponge.F90 
    567634$(MODEL_LIB)(agrif_opa_update.o) :  \ 
     635   $(MODEL_LIB)(bdy_oce.o) \ 
     636   $(MODEL_LIB)(cla_div.o) \ 
     637   $(MODEL_LIB)(diaar5.o) \ 
     638   $(MODEL_LIB)(divcur.o) \ 
     639   $(MODEL_LIB)(dom_oce.o) \ 
     640   $(MODEL_LIB)(domvvl.o) \ 
     641   $(MODEL_LIB)(in_out_manager.o) \ 
     642   $(MODEL_LIB)(iom.o) \ 
     643   $(MODEL_LIB)(lbclnk.o) \ 
     644   $(MODEL_LIB)(lib_mpp.o) \ 
     645   $(MODEL_LIB)(obc_oce.o) \ 
     646   $(MODEL_LIB)(obc_par.o) \ 
     647   $(MODEL_LIB)(oce.o) \ 
     648   $(MODEL_LIB)(par_kind.o) \ 
     649   $(MODEL_LIB)(par_oce.o) \ 
     650   $(MODEL_LIB)(phycst.o) \ 
     651   $(MODEL_LIB)(prtctl.o) \ 
     652   $(MODEL_LIB)(restart.o) \ 
     653   $(MODEL_LIB)(sbc_oce.o) \ 
     654   bdy_oce.F90 \ 
     655   cla_div.F90 \ 
     656   diaar5.F90 \ 
     657   divcur.F90 \ 
     658   dom_oce.F90 \ 
     659   domvvl.F90 \ 
     660   in_out_manager.F90 \ 
     661   iom.F90 \ 
     662   lbclnk.F90 \ 
     663   lib_mpp.F90 \ 
     664   obc_oce.F90 \ 
     665   obc_par.F90 \ 
     666   oce.F90 \ 
     667   par_kind.F90 \ 
     668   par_oce.F90 \ 
     669   phycst.F90 \ 
     670   prtctl.F90 \ 
     671   restart.F90 \ 
     672   sbc_oce.F90 \ 
     673   $(MODEL_LIB)(agrif_oce.o) \ 
     674   $(MODEL_LIB)(cla_div.o) \ 
     675   $(MODEL_LIB)(divcur.o) \ 
     676   $(MODEL_LIB)(dom_oce.o) \ 
     677   $(MODEL_LIB)(oce.o) \ 
     678   $(MODEL_LIB)(par_oce.o) \ 
     679   $(MODEL_LIB)(sshwzv.o) \ 
     680   agrif_oce.F90 \ 
     681   cla_div.F90 \ 
     682   divcur.F90 \ 
     683   dom_oce.F90 \ 
     684   oce.F90 \ 
     685   par_oce.F90 \ 
     686   sshwzv.F90 \ 
     687   domzgr_substitute.h90 \ 
     688   $(AGRIF_LIB) \ 
     689   KEY_CPP \ 
    568690   agrif_opa_update.F90 
     691$(MODEL_LIB)(agrif_top_interp.o) :  \ 
     692   $(MODEL_LIB)(dom_oce.o) \ 
     693   $(MODEL_LIB)(par_kind.o) \ 
     694   $(MODEL_LIB)(par_oce.o) \ 
     695   dom_oce.F90 \ 
     696   par_kind.F90 \ 
     697   par_oce.F90 \ 
     698   $(MODEL_LIB)(agrif_oce.o) \ 
     699   $(MODEL_LIB)(dom_oce.o) \ 
     700   $(MODEL_LIB)(oce.o) \ 
     701   $(MODEL_LIB)(par_oce.o) \ 
     702   $(MODEL_LIB)(sol_oce.o) \ 
     703   agrif_oce.F90 \ 
     704   dom_oce.F90 \ 
     705   oce.F90 \ 
     706   par_oce.F90 \ 
     707   sol_oce.F90 \ 
     708   domzgr_substitute.h90 \ 
     709   vectopt_loop_substitute.h90 \ 
     710   $(AGRIF_LIB) \ 
     711   KEY_CPP \ 
     712   agrif_top_interp.F90 
     713$(MODEL_LIB)(agrif_top_sponge.o) :  \ 
     714   $(MODEL_LIB)(dom_oce.o) \ 
     715   $(MODEL_LIB)(lib_print.o) \ 
     716   $(MODEL_LIB)(par_kind.o) \ 
     717   $(MODEL_LIB)(par_oce.o) \ 
     718   dom_oce.F90 \ 
     719   lib_print.f90 \ 
     720   par_kind.F90 \ 
     721   par_oce.F90 \ 
     722   $(MODEL_LIB)(agrif_oce.o) \ 
     723   $(MODEL_LIB)(dom_oce.o) \ 
     724   $(MODEL_LIB)(in_out_manager.o) \ 
     725   $(MODEL_LIB)(oce.o) \ 
     726   $(MODEL_LIB)(par_oce.o) \ 
     727   agrif_oce.F90 \ 
     728   dom_oce.F90 \ 
     729   in_out_manager.F90 \ 
     730   oce.F90 \ 
     731   par_oce.F90 \ 
     732   domzgr_substitute.h90 \ 
     733   $(AGRIF_LIB) \ 
     734   KEY_CPP \ 
     735   agrif_top_sponge.F90 
     736$(MODEL_LIB)(agrif_top_update.o) :  \ 
     737   $(MODEL_LIB)(dom_oce.o) \ 
     738   $(MODEL_LIB)(par_kind.o) \ 
     739   $(MODEL_LIB)(par_oce.o) \ 
     740   dom_oce.F90 \ 
     741   par_kind.F90 \ 
     742   par_oce.F90 \ 
     743   $(MODEL_LIB)(agrif_oce.o) \ 
     744   $(MODEL_LIB)(dom_oce.o) \ 
     745   $(MODEL_LIB)(oce.o) \ 
     746   $(MODEL_LIB)(par_oce.o) \ 
     747   agrif_oce.F90 \ 
     748   dom_oce.F90 \ 
     749   oce.F90 \ 
     750   par_oce.F90 \ 
     751   domzgr_substitute.h90 \ 
     752   $(AGRIF_LIB) \ 
     753   KEY_CPP \ 
     754   agrif_top_update.F90 
     755$(MODEL_LIB)(agrif_user.o) :  \ 
     756   $(MODEL_LIB)(agrif_oce.o) \ 
     757   $(MODEL_LIB)(bdy_par.o) \ 
     758   $(MODEL_LIB)(bdyini.o) \ 
     759   $(MODEL_LIB)(c1d.o) \ 
     760   $(MODEL_LIB)(cla_div.o) \ 
     761   $(MODEL_LIB)(cpl_oasis3.o) \ 
     762   $(MODEL_LIB)(cpl_oasis4.o) \ 
     763   $(MODEL_LIB)(diaptr.o) \ 
     764   $(MODEL_LIB)(divcur.o) \ 
     765   $(MODEL_LIB)(dom_oce.o) \ 
     766   $(MODEL_LIB)(domain.o) \ 
     767   $(MODEL_LIB)(domcfg.o) \ 
     768   $(MODEL_LIB)(dtasal.o) \ 
     769   $(MODEL_LIB)(dtatem.o) \ 
     770   $(MODEL_LIB)(dyncor_c1d.o) \ 
     771   $(MODEL_LIB)(dynhpg.o) \ 
     772   $(MODEL_LIB)(dynspg_oce.o) \ 
     773   $(MODEL_LIB)(eosbn2.o) \ 
     774   $(MODEL_LIB)(in_out_manager.o) \ 
     775   $(MODEL_LIB)(iom.o) \ 
     776   $(MODEL_LIB)(istate.o) \ 
     777   $(MODEL_LIB)(ldfdyn.o) \ 
     778   $(MODEL_LIB)(ldftra.o) \ 
     779   $(MODEL_LIB)(lib_mpp.o) \ 
     780   $(MODEL_LIB)(lib_print.o) \ 
     781   $(MODEL_LIB)(mppini.o) \ 
     782   $(MODEL_LIB)(obc_par.o) \ 
     783   $(MODEL_LIB)(obcini.o) \ 
     784   $(MODEL_LIB)(oce.o) \ 
     785   $(MODEL_LIB)(par_kind.o) \ 
     786   $(MODEL_LIB)(par_oce.o) \ 
     787   $(MODEL_LIB)(phycst.o) \ 
     788   $(MODEL_LIB)(prtctl.o) \ 
     789   $(MODEL_LIB)(sbc_oce.o) \ 
     790   $(MODEL_LIB)(sbcmod.o) \ 
     791   $(MODEL_LIB)(sol_oce.o) \ 
     792   $(MODEL_LIB)(sshwzv.o) \ 
     793   $(MODEL_LIB)(step.o) \ 
     794   $(MODEL_LIB)(step_c1d.o) \ 
     795   $(MODEL_LIB)(trdmod.o) \ 
     796   $(MODEL_LIB)(trdmod_oce.o) \ 
     797   $(MODEL_LIB)(zdf_oce.o) \ 
     798   $(MODEL_LIB)(zdfini.o) \ 
     799   $(MODEL_LIB)(zdfmxl.o) \ 
     800   agrif_oce.F90 \ 
     801   bdy_par.F90 \ 
     802   bdyini.F90 \ 
     803   c1d.F90 \ 
     804   cla_div.F90 \ 
     805   cpl_oasis3.F90 \ 
     806   cpl_oasis4.F90 \ 
     807   diaptr.F90 \ 
     808   divcur.F90 \ 
     809   dom_oce.F90 \ 
     810   domain.F90 \ 
     811   domcfg.F90 \ 
     812   dtasal.F90 \ 
     813   dtatem.F90 \ 
     814   dyncor_c1d.F90 \ 
     815   dynhpg.F90 \ 
     816   dynspg_oce.F90 \ 
     817   eosbn2.F90 \ 
     818   in_out_manager.F90 \ 
     819   iom.F90 \ 
     820   istate.F90 \ 
     821   ldfdyn.F90 \ 
     822   ldftra.F90 \ 
     823   lib_mpp.F90 \ 
     824   lib_print.f90 \ 
     825   mppini.F90 \ 
     826   obc_par.F90 \ 
     827   obcini.F90 \ 
     828   oce.F90 \ 
     829   par_kind.F90 \ 
     830   par_oce.F90 \ 
     831   phycst.F90 \ 
     832   prtctl.F90 \ 
     833   sbc_oce.F90 \ 
     834   sbcmod.F90 \ 
     835   sol_oce.F90 \ 
     836   sshwzv.F90 \ 
     837   step.F90 \ 
     838   step_c1d.F90 \ 
     839   trdmod.F90 \ 
     840   trdmod_oce.F90 \ 
     841   zdf_oce.F90 \ 
     842   zdfini.F90 \ 
     843   zdfmxl.F90 \ 
     844   $(MODEL_LIB)(agrif_oce.o) \ 
     845   $(MODEL_LIB)(agrif_opa_interp.o) \ 
     846   $(MODEL_LIB)(agrif_opa_sponge.o) \ 
     847   $(MODEL_LIB)(agrif_opa_update.o) \ 
     848   $(MODEL_LIB)(agrif_top_interp.o) \ 
     849   $(MODEL_LIB)(agrif_top_sponge.o) \ 
     850   $(MODEL_LIB)(agrif_top_update.o) \ 
     851   $(MODEL_LIB)(dom_oce.o) \ 
     852   $(MODEL_LIB)(in_out_manager.o) \ 
     853   $(MODEL_LIB)(obc_par.o) \ 
     854   $(MODEL_LIB)(oce.o) \ 
     855   $(MODEL_LIB)(opa.o) \ 
     856   $(MODEL_LIB)(par_oce.o) \ 
     857   $(MODEL_LIB)(sol_oce.o) \ 
     858   $(MODEL_LIB)(tradmp.o) \ 
     859   agrif_oce.F90 \ 
     860   agrif_opa_interp.F90 \ 
     861   agrif_opa_sponge.F90 \ 
     862   agrif_opa_update.F90 \ 
     863   agrif_top_interp.F90 \ 
     864   agrif_top_sponge.F90 \ 
     865   agrif_top_update.F90 \ 
     866   dom_oce.F90 \ 
     867   in_out_manager.F90 \ 
     868   obc_par.F90 \ 
     869   oce.F90 \ 
     870   opa.F90 \ 
     871   par_oce.F90 \ 
     872   sol_oce.F90 \ 
     873   tradmp.F90 \ 
     874   $(AGRIF_LIB) \ 
     875   KEY_CPP \ 
     876   agrif_user.F90 
    569877$(MODEL_LIB)(albedo.o) :   \ 
    570878   $(MODEL_LIB)(in_out_manager.o) \ 
     
    11951503   diaar5.F90 
    11961504$(MODEL_LIB)(diadimg.o) :  \ 
    1197    $(MODEL_LIB)(lib_print.o) \ 
    1198    $(MODEL_LIB)(par_kind.o) \ 
    1199    $(MODEL_LIB)(par_oce.o) \ 
    1200    lib_print.f90 \ 
    1201    par_kind.F90 \ 
    1202    par_oce.F90 \ 
    1203    $(MODEL_LIB)(dom_oce.o) \ 
    1204    $(MODEL_LIB)(in_out_manager.o) \ 
    1205    $(MODEL_LIB)(oce.o) \ 
     1505   $(MODEL_LIB)(dom_oce.o) \ 
     1506   $(MODEL_LIB)(in_out_manager.o) \ 
     1507   $(MODEL_LIB)(iom.o) \ 
     1508   $(MODEL_LIB)(lib_print.o) \ 
     1509   $(MODEL_LIB)(par_kind.o) \ 
     1510   $(MODEL_LIB)(par_oce.o) \ 
     1511   $(MODEL_LIB)(phycst.o) \ 
     1512   $(MODEL_LIB)(prtctl.o) \ 
     1513   $(MODEL_LIB)(restart.o) \ 
     1514   dom_oce.F90 \ 
     1515   in_out_manager.F90 \ 
     1516   iom.F90 \ 
     1517   lib_print.f90 \ 
     1518   par_kind.F90 \ 
     1519   par_oce.F90 \ 
     1520   phycst.F90 \ 
     1521   prtctl.F90 \ 
     1522   restart.F90 \ 
     1523   $(MODEL_LIB)(daymod.o) \ 
     1524   $(MODEL_LIB)(dom_oce.o) \ 
     1525   $(MODEL_LIB)(in_out_manager.o) \ 
     1526   $(MODEL_LIB)(oce.o) \ 
     1527   daymod.F90 \ 
    12061528   dom_oce.F90 \ 
    12071529   in_out_manager.F90 \ 
     
    13581680   phycst.F90 \ 
    13591681   $(IOIPSL_LIB) \ 
    1360    KEY_CPP \ 
    13611682   dianam.F90 
    13621683$(MODEL_LIB)(diaptr.o) :   \ 
     
    14191740   diaptr.F90 
    14201741$(MODEL_LIB)(diawri.o) :   \ 
     1742   $(MODEL_LIB)(daymod.o) \ 
    14211743   $(MODEL_LIB)(dianam.o) \ 
    14221744   $(MODEL_LIB)(dom_ice_2.o) \ 
     
    14461768   $(MODEL_LIB)(sbcrnf.o) \ 
    14471769   $(MODEL_LIB)(zdf_oce.o) \ 
     1770   daymod.F90 \ 
    14481771   dianam.F90 \ 
    14491772   dom_ice_2.F90 \ 
     
    28453168   dynldf_lap.F90 
    28463169$(MODEL_LIB)(dynnxt.o) :   \ 
     3170   $(MODEL_LIB)(agrif_oce.o) \ 
    28473171   $(MODEL_LIB)(bdy_oce.o) \ 
    28483172   $(MODEL_LIB)(bdy_par.o) \ 
    28493173   $(MODEL_LIB)(bdytides.o) \ 
     3174   $(MODEL_LIB)(cla_div.o) \ 
     3175   $(MODEL_LIB)(divcur.o) \ 
    28503176   $(MODEL_LIB)(dom_oce.o) \ 
    28513177   $(MODEL_LIB)(dynadv_cen2.o) \ 
     
    28673193   $(MODEL_LIB)(phycst.o) \ 
    28683194   $(MODEL_LIB)(sbc_oce.o) \ 
     3195   $(MODEL_LIB)(sol_oce.o) \ 
     3196   $(MODEL_LIB)(sshwzv.o) \ 
     3197   agrif_oce.F90 \ 
    28693198   bdy_oce.F90 \ 
    28703199   bdy_par.F90 \ 
    28713200   bdytides.F90 \ 
     3201   cla_div.F90 \ 
     3202   divcur.F90 \ 
    28723203   dom_oce.F90 \ 
    28733204   dynadv_cen2.F90 \ 
     
    28893220   phycst.F90 \ 
    28903221   sbc_oce.F90 \ 
     3222   sol_oce.F90 \ 
     3223   sshwzv.F90 \ 
    28913224   $(MODEL_LIB)(agrif_opa_interp.o) \ 
    28923225   $(MODEL_LIB)(agrif_opa_update.o) \ 
     
    31613494   dynspg_exp.F90 
    31623495$(MODEL_LIB)(dynspg_flt.o) :  \ 
     3496   $(MODEL_LIB)(agrif_oce.o) \ 
    31633497   $(MODEL_LIB)(bdy_oce.o) \ 
    31643498   $(MODEL_LIB)(bdy_par.o) \ 
     
    32023536   $(MODEL_LIB)(zdfmxl.o) \ 
    32033537   $(MODEL_LIB)(zpshde.o) \ 
     3538   agrif_oce.F90 \ 
    32043539   bdy_oce.F90 \ 
    32053540   bdy_par.F90 \ 
     
    45944929   in_out_manager.F90 \ 
    45954930   lbcnfd.F90 \ 
    4596    $(AGRIF_LIB) \ 
    45974931   KEY_CPP \ 
    45984932   lib_mpp.F90 
     
    75697903   sshwzv.F90 
    75707904$(MODEL_LIB)(step.o) :  \ 
     7905   $(MODEL_LIB)(agrif_oce.o) \ 
    75717906   $(MODEL_LIB)(agrif_opa_interp.o) \ 
    75727907   $(MODEL_LIB)(agrif_opa_update.o) \ 
     
    76908025   $(MODEL_LIB)(zdftke_old.o) \ 
    76918026   $(MODEL_LIB)(zpshde.o) \ 
     8027   agrif_oce.F90 \ 
    76928028   agrif_opa_interp.F90 \ 
    76938029   agrif_opa_update.F90 \ 
     
    79968332   $(MODEL_LIB)(lib_print.o) \ 
    79978333   $(MODEL_LIB)(limwri_2.o) \ 
     8334   $(MODEL_LIB)(obc_oce.o) \ 
    79988335   $(MODEL_LIB)(obctra.o) \ 
    79998336   $(MODEL_LIB)(oce.o) \ 
     
    80678404   lib_print.f90 \ 
    80688405   limwri_2.F90 \ 
     8406   obc_oce.F90 \ 
    80698407   obctra.F90 \ 
    80708408   oce.F90 \ 
     
    96119949   tranpc.F90 
    96129950$(MODEL_LIB)(tranxt.o) :   \ 
     9951   $(MODEL_LIB)(agrif_oce.o) \ 
    96139952   $(MODEL_LIB)(bdy_oce.o) \ 
     9953   $(MODEL_LIB)(cla_div.o) \ 
     9954   $(MODEL_LIB)(divcur.o) \ 
    96149955   $(MODEL_LIB)(dom_oce.o) \ 
    96159956   $(MODEL_LIB)(in_out_manager.o) \ 
     
    96209961   $(MODEL_LIB)(lib_print.o) \ 
    96219962   $(MODEL_LIB)(obc_oce.o) \ 
    9622    $(MODEL_LIB)(oce.o) \ 
    9623    $(MODEL_LIB)(par_kind.o) \ 
    9624    $(MODEL_LIB)(par_oce.o) \ 
    9625    $(MODEL_LIB)(phycst.o) \ 
    9626    $(MODEL_LIB)(prtctl.o) \ 
    9627    $(MODEL_LIB)(sbc_oce.o) \ 
     9963   $(MODEL_LIB)(obc_par.o) \ 
     9964   $(MODEL_LIB)(oce.o) \ 
     9965   $(MODEL_LIB)(par_kind.o) \ 
     9966   $(MODEL_LIB)(par_oce.o) \ 
     9967   $(MODEL_LIB)(phycst.o) \ 
     9968   $(MODEL_LIB)(prtctl.o) \ 
     9969   $(MODEL_LIB)(sbc_oce.o) \ 
     9970   $(MODEL_LIB)(sol_oce.o) \ 
     9971   $(MODEL_LIB)(sshwzv.o) \ 
    96289972   $(MODEL_LIB)(trdicp.o) \ 
    96299973   $(MODEL_LIB)(trdicp_oce.o) \ 
     
    96359979   $(MODEL_LIB)(trdvor_oce.o) \ 
    96369980   $(MODEL_LIB)(zdf_oce.o) \ 
     9981   agrif_oce.F90 \ 
    96379982   bdy_oce.F90 \ 
     9983   cla_div.F90 \ 
     9984   divcur.F90 \ 
    96389985   dom_oce.F90 \ 
    96399986   in_out_manager.F90 \ 
     
    96449991   lib_print.f90 \ 
    96459992   obc_oce.F90 \ 
    9646    oce.F90 \ 
    9647    par_kind.F90 \ 
    9648    par_oce.F90 \ 
    9649    phycst.F90 \ 
    9650    prtctl.F90 \ 
    9651    sbc_oce.F90 \ 
     9993   obc_par.F90 \ 
     9994   oce.F90 \ 
     9995   par_kind.F90 \ 
     9996   par_oce.F90 \ 
     9997   phycst.F90 \ 
     9998   prtctl.F90 \ 
     9999   sbc_oce.F90 \ 
     10000   sol_oce.F90 \ 
     10001   sshwzv.F90 \ 
    965210002   trdicp.F90 \ 
    965310003   trdicp_oce.F90 \ 
     
    966810018   $(MODEL_LIB)(in_out_manager.o) \ 
    966910019   $(MODEL_LIB)(lbclnk.o) \ 
     10020   $(MODEL_LIB)(obc_oce.o) \ 
    967010021   $(MODEL_LIB)(obctra.o) \ 
    967110022   $(MODEL_LIB)(oce.o) \ 
     
    968410035   in_out_manager.F90 \ 
    968510036   lbclnk.F90 \ 
     10037   obc_oce.F90 \ 
    968610038   obctra.F90 \ 
    968710039   oce.F90 \ 
     
    1017210524$(MODEL_LIB)(trdmld.o) :   \ 
    1017310525   $(MODEL_LIB)(c1d.o) \ 
     10526   $(MODEL_LIB)(daymod.o) \ 
    1017410527   $(MODEL_LIB)(dom_oce.o) \ 
    1017510528   $(MODEL_LIB)(eosbn2.o) \ 
     
    1019710550   $(MODEL_LIB)(zpshde.o) \ 
    1019810551   c1d.F90 \ 
     10552   daymod.F90 \ 
    1019910553   dom_oce.F90 \ 
    1020010554   eosbn2.F90 \ 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/NST_SRC/agrif_user.F90

    r1605 r1970  
    7373      USE tradmp 
    7474#endif 
     75#if defined key_obc   ||   defined key_esopa 
     76      USE obc_par 
     77#endif 
    7578      USE sol_oce 
    7679      USE in_out_manager 
     
    105108      ! no tracer damping on fine grids 
    106109      lk_tradmp = .FALSE. 
     110#endif 
     111#if defined key_obc || defined key_esopa 
     112      ! no open boundary on fine grids 
     113      lk_obc = .FALSE. 
    107114#endif 
    108115      ! 1. Declaration of the type of variable which have to be interpolated 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OFF_SRC/trc_oce.F90

    r1445 r1970  
    3939   !!---------------------------------------------------------------------- 
    4040   !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009)  
    41    !! $Id: trc_oce.F90 1423 2009-05-06 16:22:01Z ctlod $  
     41   !! $Id: trc_oce.F90 1834 2010-04-14 11:54:19Z cetlod $  
    4242   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)  
    4343   !!---------------------------------------------------------------------- 
     
    126126      zrgb(1,51) =  3.162   ;   zrgb(2,51) = 0.22703   ;   zrgb(3,51) = 0.16599   ;   zrgb(4,51) = 0.46601 
    127127      zrgb(1,52) =  3.548   ;   zrgb(2,52) = 0.24433   ;   zrgb(3,52) = 0.17334   ;   zrgb(4,52) = 0.47313 
    128       zrgb(1,53) =  3.981   ;   zrgb(2,53) = 0.26301   ;   zrgb(3,53) = 0.18126   ;   zrgb(4,54) = 0.48080 
    129       zrgb(1,54) =  4.467   ;   zrgb(2,54) = 0.28320   ;   zrgb(3,54) = 0.18981   ;   zrgb(4,55) = 0.48909 
    130       zrgb(1,55) =  5.012   ;   zrgb(2,55) = 0.30502   ;   zrgb(3,55) = 0.19903   ;   zrgb(4,56) = 0.49803 
    131       zrgb(1,56) =  5.623   ;   zrgb(2,56) = 0.32858   ;   zrgb(3,56) = 0.20898   ;   zrgb(4,57) = 0.50768 
    132       zrgb(1,57) =  6.310   ;   zrgb(2,57) = 0.35404   ;   zrgb(3,57) = 0.21971   ;   zrgb(4,58) = 0.51810 
    133       zrgb(1,58) =  7.079   ;   zrgb(2,58) = 0.38154   ;   zrgb(3,58) = 0.23129   ;   zrgb(4,59) = 0.52934 
    134       zrgb(1,59) =  7.943   ;   zrgb(2,59) = 0.41125   ;   zrgb(3,59) = 0.24378   ;   zrgb(4,50) = 0.54147 
     128      zrgb(1,53) =  3.981   ;   zrgb(2,53) = 0.26301   ;   zrgb(3,53) = 0.18126   ;   zrgb(4,53) = 0.48080 
     129      zrgb(1,54) =  4.467   ;   zrgb(2,54) = 0.28320   ;   zrgb(3,54) = 0.18981   ;   zrgb(4,54) = 0.48909 
     130      zrgb(1,55) =  5.012   ;   zrgb(2,55) = 0.30502   ;   zrgb(3,55) = 0.19903   ;   zrgb(4,55) = 0.49803 
     131      zrgb(1,56) =  5.623   ;   zrgb(2,56) = 0.32858   ;   zrgb(3,56) = 0.20898   ;   zrgb(4,56) = 0.50768 
     132      zrgb(1,57) =  6.310   ;   zrgb(2,57) = 0.35404   ;   zrgb(3,57) = 0.21971   ;   zrgb(4,57) = 0.51810 
     133      zrgb(1,58) =  7.079   ;   zrgb(2,58) = 0.38154   ;   zrgb(3,58) = 0.23129   ;   zrgb(4,58) = 0.52934 
     134      zrgb(1,59) =  7.943   ;   zrgb(2,59) = 0.41125   ;   zrgb(3,59) = 0.24378   ;   zrgb(4,59) = 0.54147 
    135135      zrgb(1,60) =  8.912   ;   zrgb(2,60) = 0.44336   ;   zrgb(3,60) = 0.25725   ;   zrgb(4,60) = 0.55457 
    136136      zrgb(1,61) = 10.000   ;   zrgb(2,61) = 0.47804   ;   zrgb(3,61) = 0.27178   ;   zrgb(4,61) = 0.56870 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DIA/diaptr.F90

    r1775 r1970  
    362362#endif 
    363363 
     364            ! Transports 
     365            ! T times V on T points (include bolus velocities) 
     366#if defined key_diaeiv  
     367            DO jj = 2, jpj 
     368               DO ji = 1, jpi 
     369                  vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + u_eiv(ji,jj,:) + u_eiv(ji,jj-1,:) )*0.5 
     370                  vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + v_eiv(ji,jj,:) + v_eiv(ji,jj-1,:) )*0.5 
     371               END DO 
     372            END DO 
     373#else 
     374            DO jj = 2, jpj 
     375               DO ji = 1, jpi 
     376                  vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 
     377                  vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 
     378               END DO 
     379            END DO 
     380#endif  
     381            CALL lbc_lnk( vs, 'V', -1. )   ;   CALL lbc_lnk( vt, 'V', -1. ) 
     382 
     383            ht_glo(:) = SUM( ptr_vjk( vt(:,:,:)), 2 ) 
     384            st_glo(:) = SUM( ptr_vjk( vs(:,:,:)), 2 ) 
     385 
     386            IF ( ln_subbas ) THEN  
     387               ht_atl(:) = SUM( ptr_vjk( vt (:,:,:), abasin(:,:)*sbasin(:,:)), 2 ) 
     388               ht_pac(:) = SUM( ptr_vjk( vt (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 ) 
     389               ht_ind(:) = SUM( ptr_vjk( vt (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 ) 
     390               ht_ipc(:) = SUM( ptr_vjk( vt (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 ) 
     391               st_atl(:) = SUM( ptr_vjk( vs (:,:,:), abasin(:,:)*sbasin(:,:)), 2 ) 
     392               st_pac(:) = SUM( ptr_vjk( vs (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 ) 
     393               st_ind(:) = SUM( ptr_vjk( vs (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 ) 
     394               st_ipc(:) = SUM( ptr_vjk( vs (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 ) 
     395            ENDIF 
     396 
     397            ! poleward tracer transports:  
     398            ! overturning components: 
     399            IF ( ln_ptrcomp ) THEN  
     400               pht_ove_glo(:) = SUM( v_msf_glo(:,:) * tn_jk_glo(:,:), 2 )   ! SUM over jk 
     401               pst_ove_glo(:) = SUM( v_msf_glo(:,:) * sn_jk_glo(:,:), 2 )   
     402               IF ( ln_subbas ) THEN  
     403                  pht_ove_atl(:) = SUM( v_msf_atl(:,:) * tn_jk_atl(:,:), 2 )   ! SUM over jk 
     404                  pst_ove_atl(:) = SUM( v_msf_atl(:,:) * sn_jk_atl(:,:), 2 )   
     405                  pht_ove_pac(:) = SUM( v_msf_pac(:,:) * tn_jk_pac(:,:), 2 )   ! SUM over jk 
     406                  pst_ove_pac(:) = SUM( v_msf_pac(:,:) * sn_jk_pac(:,:), 2 )   
     407                  pht_ove_ind(:) = SUM( v_msf_ind(:,:) * tn_jk_ind(:,:), 2 )   ! SUM over jk 
     408                  pst_ove_ind(:) = SUM( v_msf_ind(:,:) * sn_jk_ind(:,:), 2 )   
     409                  pht_ove_ipc(:) = SUM( v_msf_ipc(:,:) * tn_jk_ipc(:,:), 2 )   ! SUM over jk 
     410                  pst_ove_ipc(:) = SUM( v_msf_ipc(:,:) * sn_jk_ipc(:,:), 2 )   
     411               END IF 
     412            END IF 
     413 
     414            ! Bolus component 
     415#if defined key_diaeiv 
     416            pht_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_glo(:,:), 2 )   ! SUM over jk 
     417            pst_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_glo(:,:), 2 )   ! SUM over jk 
     418            IF ( ln_subbas ) THEN  
     419               pht_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_atl(:,:), 2 )   ! SUM over jk 
     420               pst_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_atl(:,:), 2 )   ! SUM over jk 
     421               pht_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * tn_jk_pac(:,:), 2 )   ! SUM over jk 
     422               pst_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * sn_jk_pac(:,:), 2 )   ! SUM over jk 
     423               pht_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * tn_jk_ind(:,:), 2 )   ! SUM over jk 
     424               pst_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * sn_jk_ind(:,:), 2 )   ! SUM over jk 
     425               pht_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * tn_jk_ipc(:,:), 2 )   ! SUM over jk 
     426               pst_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * sn_jk_ipc(:,:), 2 )   ! SUM over jk 
     427            ENDIF 
     428#endif 
     429 
     430            ! conversion in PW and G g 
     431            zpwatt = zpwatt * rau0 * rcp 
     432            pht_adv(:) = pht_adv(:) * zpwatt   
     433            pht_ldf(:) = pht_ldf(:) * zpwatt 
     434            pst_adv(:) = pst_adv(:) * zggram 
     435            pst_ldf(:) = pst_ldf(:) * zggram 
     436            IF ( ln_ptrcomp ) THEN  
     437               pht_ove_glo(:) = pht_ove_glo(:) * zpwatt 
     438               pst_ove_glo(:) = pst_ove_glo(:) * zggram 
     439            END IF 
     440#if defined key_diaeiv 
     441            pht_eiv_glo(:) = pht_eiv_glo(:) * zpwatt 
     442            pst_eiv_glo(:) = pst_eiv_glo(:) * zggram 
     443#endif 
     444            IF( ln_subbas ) THEN 
     445               ht_atl(:) = ht_atl(:) * zpwatt 
     446               ht_pac(:) = ht_pac(:) * zpwatt 
     447               ht_ind(:) = ht_ind(:) * zpwatt 
     448               ht_ipc(:) = ht_ipc(:) * zpwatt 
     449               st_atl(:) = st_atl(:) * zggram  
     450               st_pac(:) = st_pac(:) * zggram 
     451               st_ind(:) = st_ind(:) * zggram 
     452               st_ipc(:) = st_ipc(:) * zggram 
     453            ENDIF 
     454 
    364455            ! "Meridional" Stream-Function 
    365456            DO jk = 2,jpk  
     
    394485               v_msf_ind(:,:) = v_msf_ind(:,:) * zsverdrup 
    395486               v_msf_ipc(:,:) = v_msf_ipc(:,:) * zsverdrup 
    396             ENDIF 
    397  
    398             ! Transports 
    399             ! T times V on T points (include bolus velocities) 
    400 #if defined key_diaeiv  
    401             DO jj = 2, jpj 
    402                DO ji = 1, jpi 
    403                   vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + u_eiv(ji,jj,:) + u_eiv(ji,jj-1,:) )*0.5 
    404                   vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) + v_eiv(ji,jj,:) + v_eiv(ji,jj-1,:) )*0.5 
    405                END DO 
    406             END DO 
    407 #else 
    408             DO jj = 2, jpj 
    409                DO ji = 1, jpi 
    410                   vt(ji,jj,:) = tn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 
    411                   vs(ji,jj,:) = sn(ji,jj,:) * ( vn(ji,jj,:) + vn(ji,jj-1,:) )*0.5 
    412                END DO 
    413             END DO 
    414 #endif  
    415             CALL lbc_lnk( vs, 'V', -1. )   ;   CALL lbc_lnk( vt, 'V', -1. ) 
    416  
    417             ht_glo(:) = SUM( ptr_vjk( vt(:,:,:)), 2 ) 
    418             st_glo(:) = SUM( ptr_vjk( vs(:,:,:)), 2 ) 
    419  
    420             IF ( ln_subbas ) THEN  
    421                ht_atl(:) = SUM( ptr_vjk( vt (:,:,:), abasin(:,:)*sbasin(:,:)), 2 ) 
    422                ht_pac(:) = SUM( ptr_vjk( vt (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 ) 
    423                ht_ind(:) = SUM( ptr_vjk( vt (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 ) 
    424                ht_ipc(:) = SUM( ptr_vjk( vt (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 ) 
    425                st_atl(:) = SUM( ptr_vjk( vs (:,:,:), abasin(:,:)*sbasin(:,:)), 2 ) 
    426                st_pac(:) = SUM( ptr_vjk( vs (:,:,:), pbasin(:,:)*sbasin(:,:)), 2 ) 
    427                st_ind(:) = SUM( ptr_vjk( vs (:,:,:), ibasin(:,:)*sbasin(:,:)), 2 ) 
    428                st_ipc(:) = SUM( ptr_vjk( vs (:,:,:), dbasin(:,:)*sbasin(:,:)), 2 ) 
    429             ENDIF 
    430  
    431             ! poleward tracer transports:  
    432             ! overturning components: 
    433             IF ( ln_ptrcomp ) THEN  
    434                pht_ove_glo(:) = SUM( v_msf_glo(:,:) * tn_jk_glo(:,:), 2 )   ! SUM over jk 
    435                pst_ove_glo(:) = SUM( v_msf_glo(:,:) * sn_jk_glo(:,:), 2 )   
    436                IF ( ln_subbas ) THEN  
    437                   pht_ove_atl(:) = SUM( v_msf_atl(:,:) * tn_jk_atl(:,:), 2 )   ! SUM over jk 
    438                   pst_ove_atl(:) = SUM( v_msf_atl(:,:) * sn_jk_atl(:,:), 2 )   
    439                   pht_ove_pac(:) = SUM( v_msf_pac(:,:) * tn_jk_pac(:,:), 2 )   ! SUM over jk 
    440                   pst_ove_pac(:) = SUM( v_msf_pac(:,:) * sn_jk_pac(:,:), 2 )   
    441                   pht_ove_ind(:) = SUM( v_msf_ind(:,:) * tn_jk_ind(:,:), 2 )   ! SUM over jk 
    442                   pst_ove_ind(:) = SUM( v_msf_ind(:,:) * sn_jk_ind(:,:), 2 )   
    443                   pht_ove_ipc(:) = SUM( v_msf_ipc(:,:) * tn_jk_ipc(:,:), 2 )   ! SUM over jk 
    444                   pst_ove_ipc(:) = SUM( v_msf_ipc(:,:) * sn_jk_ipc(:,:), 2 )   
    445                END IF 
    446             END IF 
    447  
    448             ! Bolus component 
    449 #if defined key_diaeiv 
    450             pht_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_glo(:,:), 2 )   ! SUM over jk 
    451             pst_eiv_glo(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_glo(:,:), 2 )   ! SUM over jk 
    452             IF ( ln_subbas ) THEN  
    453                pht_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * tn_jk_atl(:,:), 2 )   ! SUM over jk 
    454                pst_eiv_atl(:) = SUM( v_msf_eiv_glo(:,:) * sn_jk_atl(:,:), 2 )   ! SUM over jk 
    455                pht_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * tn_jk_pac(:,:), 2 )   ! SUM over jk 
    456                pst_eiv_pac(:) = SUM( v_msf_eiv_pac(:,:) * sn_jk_pac(:,:), 2 )   ! SUM over jk 
    457                pht_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * tn_jk_ind(:,:), 2 )   ! SUM over jk 
    458                pst_eiv_ind(:) = SUM( v_msf_eiv_ind(:,:) * sn_jk_ind(:,:), 2 )   ! SUM over jk 
    459                pht_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * tn_jk_ipc(:,:), 2 )   ! SUM over jk 
    460                pst_eiv_ipc(:) = SUM( v_msf_eiv_ipc(:,:) * sn_jk_ipc(:,:), 2 )   ! SUM over jk 
    461             ENDIF 
    462 #endif 
    463  
    464             ! conversion in PW and G g 
    465             zpwatt = zpwatt * rau0 * rcp 
    466             pht_adv(:) = pht_adv(:) * zpwatt   
    467             pht_ldf(:) = pht_ldf(:) * zpwatt 
    468             pst_adv(:) = pst_adv(:) * zggram 
    469             pst_ldf(:) = pst_ldf(:) * zggram 
    470             IF ( ln_ptrcomp ) THEN  
    471                pht_ove_glo(:) = pht_ove_glo(:) * zpwatt 
    472                pst_ove_glo(:) = pst_ove_glo(:) * zggram 
    473             END IF 
    474 #if defined key_diaeiv 
    475             pht_eiv_glo(:) = pht_eiv_glo(:) * zpwatt 
    476             pst_eiv_glo(:) = pst_eiv_glo(:) * zggram 
    477 #endif 
    478             IF( ln_subbas ) THEN 
    479                ht_atl(:) = ht_atl(:) * zpwatt 
    480                ht_pac(:) = ht_pac(:) * zpwatt 
    481                ht_ind(:) = ht_ind(:) * zpwatt 
    482                ht_ipc(:) = ht_ipc(:) * zpwatt 
    483                st_atl(:) = st_atl(:) * zggram  
    484                st_pac(:) = st_pac(:) * zggram 
    485                st_ind(:) = st_ind(:) * zggram 
    486                st_ipc(:) = st_ipc(:) * zggram 
    487487            ENDIF 
    488488         ENDIF 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/dom_oce.F90

    r1953 r1970  
    219219#else 
    220220   LOGICAL, PUBLIC, PARAMETER ::   lk_agrif = .FALSE.   !: agrif flag 
    221  
    222 CONTAINS 
    223    LOGICAL FUNCTION Agrif_Root() 
    224       Agrif_Root = .TRUE. 
    225    END FUNCTION Agrif_Root 
    226  
    227    CHARACTER(len=3) FUNCTION Agrif_CFixed() 
    228      Agrif_CFixed = '0'  
    229    END FUNCTION Agrif_CFixed 
    230221#endif 
    231222 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/phycst.F90

    r1739 r1970  
    44   !!     Definition of of both ocean and ice parameters used in the code 
    55   !!===================================================================== 
    6    !! History :        !  90-10  (C. Levy - G. Madec)  Original code 
    7    !!                  !  91-11  (G. Madec) 
    8    !!                  !  91-12  (M. Imbard) 
    9    !!             8.5  !  02-08  (G. Madec, C. Ethe)  F90, add ice constants 
    10    !!             9.0  !  06-08  (G. Madec)  style  
     6   !! History :   OPA  !  1990-10  (C. Levy, G. Madec)  Original code 
     7   !!                  !  1991-11  (G. Madec, M. Imbard) 
     8   !!  NEMO       1.0  !  2002-08  (G. Madec, C. Ethe)  F90, add ice constants 
     9   !!              -   !  2006-08  (G. Madec)  style  
    1110   !!---------------------------------------------------------------------- 
    1211 
     
    5958      rcdic   =   2.034396_wp ,   &  !: thermal conductivity of fresh ice 
    6059      cpic    = 2067.0        ,   & 
    61       ! add the following lines 
    6260      lsub    = 2.834e+6      ,   &  !: pure ice latent heat of sublimation (J.kg-1) 
    6361      lfus    = 0.334e+6      ,   &  !: latent heat of fusion of fresh ice   (J.kg-1) 
     
    6967      rcpsn   =   6.9069e+5_wp,   &  !: density times specific heat for snow 
    7068      rcpic   =   1.8837e+6_wp,   &  !: volumetric latent heat fusion of sea ice 
    71       xlsn    = 110.121e+6_wp ,   &  !: volumetric latent heat fusion of snow 
    72       xlic    = 300.33e+6_wp  ,   &  !: volumetric latent heat fusion of ice 
     69      lfus    = 0.3337e+6     ,   &  !: latent heat of fusion of fresh ice   (J.kg-1) 
     70      xlsn    = 110.121e+6_wp ,   &  !: = lfus * rhosn, volumetric latent heat fusion of snow 
     71      xlic    = 300.33e+6_wp  ,   &  !: = lfus * rhosn, volumetric latent heat fusion of ice 
    7372      xsn     =   2.8e+6      ,   &  !: latent heat of sublimation of snow 
    7473      rhoic   = 900._wp       ,   &  !: volumic mass of sea ice (kg/m3) 
     
    8382      stefan  =   5.67e-8_wp         !: Stefan-Boltzmann constant  
    8483      !!---------------------------------------------------------------------- 
    85       !!  OPA 9.0 , LOCEAN-IPSL (2005)  
     84      !! NEMO/OPA 3.2 , LOCEAN-IPSL (2010)  
    8685      !! $Id$  
    87       !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
     86      !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    8887      !!---------------------------------------------------------------------- 
    8988    
     
    160159      IF(lwp) WRITE(numout,*) '                       1. / ( rau0 * rcp ) = ro0cpr = ', ro0cpr 
    161160 
     161#if defined key_lim3 
     162      xlsn = lfus * rhosn        ! volumetric latent heat fusion of snow [J/m3] 
     163#else 
     164      lfus = xlsn / rhosn        ! latent heat of fusion of fresh ice 
     165#endif 
     166 
    162167      IF(lwp) THEN 
    163168         WRITE(numout,*) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DYN/dynnxt.F90

    r1740 r1970  
    146146# if defined key_obc 
    147147      !                                !* OBC open boundaries 
    148       CALL obc_dyn( kt ) 
     148      IF( lk_obc )   CALL obc_dyn( kt ) 
    149149      ! 
    150150      IF ( lk_dynspg_exp .OR. lk_dynspg_ts ) THEN 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r1953 r1970  
    186186 
    187187#if defined key_obc 
    188       CALL obc_dyn( kt )      ! Update velocities on each open boundary with the radiation algorithm 
    189       CALL obc_vol( kt )      ! Correction of the barotropic componant velocity to control the volume of the system 
     188      IF( lk_obc )   CALL obc_dyn( kt )   ! Update velocities on each open boundary with the radiation algorithm 
     189      IF( lk_obc )   CALL obc_vol( kt )   ! Correction of the barotropic componant velocity to control the volume of the system 
    190190#endif 
    191191#if defined key_bdy 
     
    315315#if defined key_obc 
    316316            ! caution : grad D = 0 along open boundaries 
    317             spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 
    318             spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 
     317            IF( Agrif_Root() ) THEN 
     318               spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 
     319               spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 
     320            ELSE 
     321               spgu(ji,jj) = z2dt * ztdgu 
     322               spgv(ji,jj) = z2dt * ztdgv 
     323            ENDIF 
    319324#elif defined key_bdy 
    320325            ! caution : grad D = 0 along open boundaries 
     
    330335      END DO 
    331336 
    332 #if defined key_agrif 
     337#if defined key_agrif       
    333338      IF( .NOT. Agrif_Root() ) THEN 
    334339         ! caution : grad D (fine) = grad D (coarse) at coarse/fine interface 
     
    338343         IF( nbondj ==  1 .OR. nbondj == 2 ) spgv(:,nlcj-2) = z2dtg * z2dt * laplacv(:,nlcj-2) * vmask(:,nlcj-2,1) 
    339344      ENDIF 
    340 #endif 
    341  
     345#endif       
    342346      ! Add the trends multiplied by z2dt to the after velocity 
    343347      ! ------------------------------------------------------- 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obc_par.F90

    r1647 r1970  
    2525   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    2626   !!---------------------------------------------------------------------- 
    27    LOGICAL, PUBLIC, PARAMETER ::   lk_obc = .TRUE.   !: Ocean Boundary Condition flag 
     27#if ! defined key_agrif 
     28   LOGICAL, PUBLIC, PARAMETER ::   lk_obc = .TRUE.     !: Ocean Boundary Condition flag 
     29#else 
     30   LOGICAL, PUBLIC            ::   lk_obc = .TRUE.     !: Ocean Boundary Condition flag 
     31#endif 
    2832 
    2933# if defined key_eel_r5 
     
    4347   !! open boundary parameter 
    4448   !!--------------------------------------------------------------------- 
    45    INTEGER, PARAMETER ::     &  !: time dimension of the BCS fields on input 
     49   INTEGER ::     &  !: time dimension of the BCS fields on input 
    4650      jptobc  =         2  
    4751   !! * EAST open boundary 
    48    LOGICAL, PARAMETER ::     &  !: 
     52   LOGICAL ::     &  !: 
    4953      lp_obc_east = .FALSE.     !: to active or not the East open boundary 
    50    INTEGER, PARAMETER ::     &  !: 
     54   INTEGER ::     &  
    5155      jpieob  = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    5256      jpjed   =        2,    &  !: j-starting indice of the East open boundary (must be land T-point) 
     
    5660 
    5761   !! * WEST open boundary 
    58    LOGICAL, PARAMETER ::     &  !: 
     62   LOGICAL ::     &  !: 
    5963      lp_obc_west = .FALSE.     !: to active or not the West open boundary 
    60    INTEGER, PARAMETER ::     &  !: 
     64   INTEGER ::     &  !: 
    6165      jpiwob  =          2,    &  !: i-localization of the West open boundary (must be ocean U-point) 
    6266      jpjwd   =          2,    &  !: j-starting indice of the West open boundary (must be land T-point) 
     
    6670 
    6771   !! * NORTH open boundary 
    68    LOGICAL, PARAMETER ::     &  !: 
     72   LOGICAL ::     &  !: 
    6973      lp_obc_north = .FALSE.    !: to active or not the North open boundary 
    70    INTEGER, PARAMETER ::     &  !: 
     74   INTEGER ::     &  !: 
    7175      jpjnob  = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    7276      jpind   =        2,    &  !: i-starting indice of the North open boundary (must be land T-point) 
     
    7680 
    7781   !! * SOUTH open boundary 
    78    LOGICAL, PARAMETER ::     &  !: 
     82   LOGICAL ::     &  !: 
    7983      lp_obc_south = .FALSE.    !: to active or not the South open boundary 
    80    INTEGER, PARAMETER ::     &  !: 
     84   INTEGER ::     &  !: 
    8185      jpjsob  =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    8286      jpisd   =        2,    &  !: i-starting indice of the South open boundary (must be land T-point) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obc_par_EEL_R5.h90

    r1152 r1970  
    1515   LOGICAL, PARAMETER ::     &  !: 
    1616      lp_obc_east = .TRUE.      !: to active or not the East open boundary 
    17    INTEGER, PARAMETER ::     &  !: 
     17 
     18     INTEGER   & 
     19#if !defined key_agrif 
     20     , PARAMETER   & 
     21#endif 
     22    ::     & 
    1823      jpieob  = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    1924      jpjed   =        2,    &  !: j-starting indice of the East open boundary (must be land T-point) 
     
    2530   LOGICAL, PARAMETER ::     &  !: 
    2631      lp_obc_west = .TRUE.      !: to active or not the West open boundary 
    27    INTEGER, PARAMETER ::     & 
     32 
     33     INTEGER   & 
     34#if !defined key_agrif 
     35     , PARAMETER   & 
     36#endif 
     37    ::     & 
    2838      jpiwob  =          2,    &  !: i-localization of the West open boundary (must be ocean U-point) 
    2939      jpjwd   =          2,    &  !: j-starting indice of the West open boundary (must be land T-point) 
     
    3545   LOGICAL, PARAMETER ::     &  !: 
    3646      lp_obc_north = .FALSE.    !: to active or not the North open boundary 
    37    INTEGER, PARAMETER ::     &  !: 
     47 
     48     INTEGER   & 
     49#if !defined key_agrif 
     50     , PARAMETER   & 
     51#endif 
     52    ::     & 
    3853      jpjnob  = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    3954      jpind   =        2,    &  !: i-starting indice of the North open boundary (must be land T-point) 
     
    4560   LOGICAL, PARAMETER ::     &  !: 
    4661      lp_obc_south = .FALSE.    !: to active or not the South open boundary 
    47    INTEGER, PARAMETER ::     &  !: 
     62 
     63     INTEGER   & 
     64#if !defined key_agrif 
     65     , PARAMETER   & 
     66#endif 
     67    ::     & 
    4868      jpjsob  =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    4969      jpisd   =        2,    &  !: i-starting indice of the South open boundary (must be land T-point) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obc_par_POMME_R025.h90

    r1648 r1970  
    44   !! open boundary parameter : POMME configuration 
    55   !!--------------------------------------------------------------------- 
    6      INTEGER, PARAMETER ::     &  !: time dimension of the BCS fields on input 
    7       jptobc  =         14 
     6   INTEGER, PARAMETER ::  jptobc  =       14    
     7   !: time dimension of the BCS fields on input 
    88 
    99   !! * EAST open boundary 
    1010   LOGICAL, PARAMETER ::     &  !: 
    1111      lp_obc_east = .TRUE.      !: 
    12    INTEGER, PARAMETER ::     &  !: 
    1312 
     13     INTEGER   & 
     14#if !defined key_agrif 
     15     , PARAMETER   &  
     16#endif 
     17    ::     &  
    1418      ! * default values * 
    1519      !jpieob = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    1620      !jpjed  =        2,    &  !: j-starting indice of the East open boundary (must be land T-point) 
    1721      !jpjef  = jpjglo-1,    &  !: j-ending   indice of the East open boundary (must be land T-point) 
    18  
    1922      jpieob = jpiglo-2,    &  !: i-localization of the East open boundary (must be ocean U-point) 
    2023      jpjed  =        1,    &  !: j-starting indice of the East open boundary (must be land T-point) 
    2124      jpjef  =   jpjglo,    &  !: j-ending   indice of the East open boundary (must be land T-point) 
    22  
    2325      jpjedp1 =  jpjed+1,    &  !: first ocean point         "                 " 
    2426      jpjefm1 =  jpjef-1        !: last  ocean point         "                 " 
     
    2729   LOGICAL, PARAMETER ::     &  !: 
    2830      lp_obc_west = .TRUE.     !: to active or not the West open boundary 
    29    INTEGER, PARAMETER ::     &  !: 
    3031 
     32     INTEGER   & 
     33#if !defined key_agrif 
     34     , PARAMETER   &  
     35#endif 
     36    ::     &  
    3137      ! * default values * 
    3238      !jpiwob  =        2,   &  !: i-localization of the West open boundary (must be ocean U-point) 
    3339      !jpjwd   =        2,   &  !: j-starting indice of the West open boundary (must be land T-point) 
    3440      !jpjwf   = jpjglo-1,   &  !: j-ending   indice of the West open boundary (must be land T-point) 
    35  
    3641      jpiwob  =        2,   &  !: i-localization of the West open boundary (must be ocean U-point) 
    3742      jpjwd   =        1,   &  !: j-starting indice of the West open boundary (must be land T-point) 
    3843      jpjwf   =   jpjglo,   &  !: j-ending   indice of the West open boundary (must be land T-point) 
    39  
    4044      jpjwdp1 =  jpjwd+1,    &  !: first ocean point         "                 " 
    4145      jpjwfm1 =  jpjwf-1        !: last  ocean point         "                 " 
     
    4448   LOGICAL, PARAMETER ::     &  !: 
    4549      lp_obc_north = .TRUE.     !: 
    46    INTEGER, PARAMETER ::     &  !: 
    4750 
     51     INTEGER   & 
     52#if !defined key_agrif 
     53     , PARAMETER   &  
     54#endif 
     55    ::     &  
    4856      ! * default values * 
    4957      !jpjnob = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    5058      !jpind  =        2,    &  !: i-starting indice of the North open boundary (must be land T-point) 
    5159      !jpinf  = jpiglo-1,    &  !: i-ending   indice of the North open boundary (must be land T-point) 
    52  
    5360      jpjnob = jpjglo-2,    &  !: j-localization of the North open boundary (must be ocean V-point) 
    5461      jpind  =        1,    &  !: i-starting indice of the North open boundary (must be land T-point) 
    5562      jpinf  =   jpiglo,    &  !: i-ending   indice of the North open boundary (must be land T-point) 
    56  
    5763      jpindp1 =  jpind+1,    &  !: first ocean point         "                 " 
    5864      jpinfm1 =  jpinf-1        !: last  ocean point         "                 " 
     
    6167   LOGICAL, PARAMETER ::     &  !: 
    6268      lp_obc_south = .TRUE.     !: INDICE to active or not the South open boundary 
    63    INTEGER, PARAMETER ::     &  !: 
    6469 
     70     INTEGER   & 
     71#if !defined key_agrif 
     72     , PARAMETER   &  
     73#endif 
     74    ::     &  
    6575      ! * default values * 
    6676      !jpjsob =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    6777      !jpisd  =        2,    &  !: i-starting indice of the South open boundary (must be land T-point) 
    6878      !jpisf  = jpiglo-1,    &  !: i-ending   indice of the South open boundary (must be land T-point) 
    69  
    7079      jpjsob =        2,    &  !: j-localization of the South open boundary (must be ocean V-point) 
    7180      jpisd  =        1,    &  !: i-starting indice of the South open boundary (must be land T-point) 
    7281      jpisf  =   jpiglo,    &  !: i-ending   indice of the South open boundary (must be land T-point) 
    73  
    7482      jpisdp1 =  jpisd+1,    &  !: first ocean point         "                 " 
    7583      jpisfm1 =  jpisf-1        !: last  ocean point         "                 " 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obcdta.F90

    r1732 r1970  
    469469       ENDIF 
    470470    ELSE 
     471#if defined key_agrif 
     472       IF ( ASSOCIATED(ztcobc) ) DEALLOCATE ( ztcobc ) 
     473#else 
    471474       IF ( ALLOCATED(ztcobc) ) DEALLOCATE ( ztcobc ) 
     475#endif 
    472476       ALLOCATE (ztcobc(itobc)) 
    473477       DO ji=1,1   ! use a dummy loop to read ztcobc only once 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/fldread.F90

    r1953 r1970  
    186186                        &                    nday   + 1                   - nmonth_len(nmonth) * COUNT((/llnxtmth/)), llstop ) 
    187187 
    188                      IF( sd(jf)%num == 0 .AND. .NOT. llstop ) THEN    ! next year file does not exist 
     188                     IF( sd(jf)%num <= 0 .AND. .NOT. llstop ) THEN    ! next year file does not exist 
    189189                        CALL ctl_warn('next year/month/day file: '//TRIM(sd(jf)%clname)//     & 
    190190                                &     ' not present -> back to current year/month/day') 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/geo2ocean.F90

    r1613 r1970  
    311311 
    312312      ! lateral boundary cond.: T-, U-, V-, F-pts, sgn 
    313       CALL lbc_lnk( gcost, 'T', 1. )   ;   CALL lbc_lnk( gsint, 'T', -1. ) 
    314       CALL lbc_lnk( gcosu, 'U', 1. )   ;   CALL lbc_lnk( gsinu, 'U', -1. ) 
    315       CALL lbc_lnk( gcosv, 'V', 1. )   ;   CALL lbc_lnk( gsinv, 'V', -1. ) 
    316       CALL lbc_lnk( gcosf, 'F', 1. )   ;   CALL lbc_lnk( gsinf, 'F', -1. ) 
     313      CALL lbc_lnk( gcost, 'T', -1. )   ;   CALL lbc_lnk( gsint, 'T', -1. ) 
     314      CALL lbc_lnk( gcosu, 'U', -1. )   ;   CALL lbc_lnk( gsinu, 'U', -1. ) 
     315      CALL lbc_lnk( gcosv, 'V', -1. )   ;   CALL lbc_lnk( gsinv, 'V', -1. ) 
     316      CALL lbc_lnk( gcosf, 'F', -1. )   ;   CALL lbc_lnk( gsinf, 'F', -1. ) 
    317317 
    318318   END SUBROUTINE angle 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/sbccpl.F90

    r1766 r1970  
    2323   USE sbc_oce         ! Surface boundary condition: ocean fields 
    2424   USE sbc_ice         ! Surface boundary condition: ice fields 
     25   USE phycst          ! physical constants 
    2526#if defined key_lim3 
    2627   USE par_ice         ! ice parameters 
     
    4546   USE lib_mpp         ! distribued memory computing library 
    4647   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    47    USE phycst, ONLY : xlsn, rhosn, xlic, rhoic 
    4848#if defined key_cpl_carbon_cycle 
    4949   USE p4zflx, ONLY : oce_co2 
     
    274274      srcv(jpr_itz2)%clname = 'O_ITauz2'      ! 3rd   -      -         -     -  
    275275      !  
    276       srcv(jpr_otx1:jpr_itz2)%nsgn = -1                           ! Vectors: change of sign at north fold 
     276      ! Vectors: change of sign at north fold ONLY if on the local grid 
     277      IF( TRIM( cn_rcv_tau(3) ) == 'local grid' )   srcv(jpr_otx1:jpr_itz2)%nsgn = -1. 
    277278       
    278279      !                                                           ! Set grid and action 
     
    714715         IF( srcv(jpr_qnsoce)%laction )   qns(:,:) = frcv(:,:,jpr_qnsoce) 
    715716         IF( srcv(jpr_qnsmix)%laction )   qns(:,:) = frcv(:,:,jpr_qnsmix)         
    716          !   energy for melting solid precipitation over free ocean 
    717          zcoef = xlsn / rhosn 
    718          qns(:,:) = qns(:,:) - frcv(:,:,jpr_snow) * zcoef 
     717         qns(:,:) = qns(:,:) - frcv(:,:,jpr_snow) * lfus              ! add the latent heat of solid precip. melting  
     718 
    719719         !                                                       ! solar flux over the ocean          (qsr) 
    720720         IF( srcv(jpr_qsroce)%laction )   qsr(:,:) = frcv(:,:,jpr_qsroce)  
     
    11171117            &                                                   +          pist(:,:,1)   * zicefr(:,:,1) ) ) 
    11181118      END SELECT 
    1119       !                                                           ! snow melting heat flux .... 
    1120       !   energy for melting solid precipitation over ice-free ocean 
    1121       zcoef = xlsn / rhosn 
    1122       ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * zcoef 
    1123       pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 
     1119      ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * lfus               ! add the latent heat of solid precip. melting 
     1120      pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:)                   ! over free ocean  
    11241121      IF( lk_diaar5 )   CALL iom_put( 'hflx_snow_cea', ztmp + zsnow(:,:) * zcptn(:,:) )   ! heat flux from snow (cell average) 
    11251122!!gm 
     
    11301127!! 
    11311128!! similar job should be done for snow and precipitation temperature 
    1132       !                                                           ! Iceberg melting heat flux .... 
    1133       !   energy for iceberg melting  
    1134       IF( srcv(jpr_cal)%laction ) THEN  
    1135          zcoef = xlic / rhoic 
    1136          ztmp(:,:) = frcv(:,:,jpr_cal) * zcoef 
     1129      !                                      
     1130      IF( srcv(jpr_cal)%laction ) THEN                            ! Iceberg melting  
     1131         ztmp(:,:) = frcv(:,:,jpr_cal) * lfus                     ! add the latent heat of iceberg melting  
    11371132         pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 
    11381133         IF( lk_diaar5 )   CALL iom_put( 'hflx_cal_cea', ztmp + frcv(:,:,jpr_cal) * zcptn(:,:) )   ! heat flux from calving 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/sbcfwb.F90

    r1715 r1970  
    6565      INTEGER  ::   inum                  ! temporary logical unit 
    6666      INTEGER  ::   ikty, iyear           !  
    67       REAL(wp) ::   z_emp, z_emp_nsrf       ! temporary scalars 
     67      REAL(wp) ::   z_emp, z_emp_nsrf, zsum_emp, zsum_erp       ! temporary scalars 
    6868      REAL(wp) ::   zsurf_neg, zsurf_pos, zsurf_tospread 
    6969      REAL(wp), DIMENSION(jpi,jpj) ::   ztmsk_neg, ztmsk_pos, ztmsk_tospread 
     
    165165            ! 
    166166            IF( lk_mpp )   CALL  mpp_sum( z_emp ) 
     167            IF( lk_mpp )   CALL  mpp_sum( zsurf_neg ) 
     168            IF( lk_mpp )   CALL  mpp_sum( zsurf_pos ) 
    167169             
    168170            IF( z_emp < 0.e0 ) THEN 
     
    177179 
    178180            ! emp global mean over <0 or >0 erp area 
    179             z_emp_nsrf = SUM( e1e2_i(:,:) * z_emp ) / ( zsurf_tospread + rsmall ) 
     181            zsum_emp = SUM( e1e2_i(:,:) * z_emp ) 
     182            IF( lk_mpp )   CALL  mpp_sum( zsum_emp ) 
     183            z_emp_nsrf =  zsum_emp / ( zsurf_tospread + rsmall ) 
    180184            ! weight to respect erp field 2D structure  
    181             z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( SUM( ztmsk_tospread(:,:) * erp(:,:) * e1e2_i(:,:) ) + rsmall ) 
     185            zsum_erp = SUM( ztmsk_tospread(:,:) * erp(:,:) * e1e2_i(:,:) ) 
     186            IF( lk_mpp )   CALL  mpp_sum( zsum_erp ) 
     187            z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( zsum_erp + rsmall ) 
     188 
    182189            ! final correction term to apply 
    183190            zerp_cor(:,:) = -1. * z_emp_nsrf * zsurf_tospread * z_wgt(:,:) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SOL/solmat.F90

    r1953 r1970  
    9999       
    100100#  elif defined key_dynspg_flt && defined key_obc 
    101  
    102       DO jj = 2, jpjm1                      ! matrix of free surface elliptic system with open boundaries 
    103          DO ji = 2, jpim1 
    104             zcoef = z2dt * z2dt * grav * bmask(ji,jj) 
    105             !                                    ! south coefficient 
    106             IF( lp_obc_south .AND. ( jj == njs0p1 ) ) THEN 
    107                zcoefs = -zcoef * hv(ji,jj-1) * e1v(ji,jj-1)/e2v(ji,jj-1)*(1.-vsmsk(ji,1)) 
    108             ELSE 
    109                zcoefs = -zcoef * hv(ji,jj-1) * e1v(ji,jj-1)/e2v(ji,jj-1) 
    110             END IF 
    111             gcp(ji,jj,1) = zcoefs 
    112             ! 
    113             !                                    ! west coefficient 
    114             IF( lp_obc_west  .AND. ( ji == niw0p1 ) ) THEN 
    115                zcoefw = -zcoef * hu(ji-1,jj) * e2u(ji-1,jj)/e1u(ji-1,jj)*(1.-uwmsk(jj,1)) 
    116             ELSE 
    117                zcoefw = -zcoef * hu(ji-1,jj) * e2u(ji-1,jj)/e1u(ji-1,jj) 
    118             END IF 
    119             gcp(ji,jj,2) = zcoefw 
    120             ! 
    121             !                                    ! east coefficient 
    122             IF( lp_obc_east  .AND. ( ji == nie0 ) ) THEN 
    123                zcoefe = -zcoef * hu(ji,jj) * e2u(ji,jj)/e1u(ji,jj)*(1.-uemsk(jj,1)) 
    124             ELSE 
    125                zcoefe = -zcoef * hu(ji,jj) * e2u(ji,jj)/e1u(ji,jj) 
    126             END IF 
    127             gcp(ji,jj,3) = zcoefe 
    128             ! 
    129             !                                    ! north coefficient 
    130             IF( lp_obc_north .AND. ( jj == njn0 ) ) THEN 
    131                zcoefn = -zcoef * hv(ji,jj) * e1v(ji,jj)/e2v(ji,jj)*(1.-vnmsk(ji,1)) 
    132             ELSE 
     101      IF( Agrif_Root() ) THEN 
     102         DO jj = 2, jpjm1                      ! matrix of free surface elliptic system with open boundaries 
     103            DO ji = 2, jpim1 
     104               zcoef = z2dt * z2dt * grav * bmask(ji,jj) 
     105               !                                    ! south coefficient 
     106               IF( lp_obc_south .AND. ( jj == njs0p1 ) ) THEN 
     107                  zcoefs = -zcoef * hv(ji,jj-1) * e1v(ji,jj-1)/e2v(ji,jj-1)*(1.-vsmsk(ji,1)) 
     108               ELSE 
     109                  zcoefs = -zcoef * hv(ji,jj-1) * e1v(ji,jj-1)/e2v(ji,jj-1) 
     110               END IF 
     111               gcp(ji,jj,1) = zcoefs 
     112               ! 
     113               !                                    ! west coefficient 
     114               IF( lp_obc_west  .AND. ( ji == niw0p1 ) ) THEN 
     115                  zcoefw = -zcoef * hu(ji-1,jj) * e2u(ji-1,jj)/e1u(ji-1,jj)*(1.-uwmsk(jj,1)) 
     116               ELSE 
     117                  zcoefw = -zcoef * hu(ji-1,jj) * e2u(ji-1,jj)/e1u(ji-1,jj) 
     118               END IF 
     119               gcp(ji,jj,2) = zcoefw 
     120               ! 
     121               !                                    ! east coefficient 
     122               IF( lp_obc_east  .AND. ( ji == nie0 ) ) THEN 
     123                  zcoefe = -zcoef * hu(ji,jj) * e2u(ji,jj)/e1u(ji,jj)*(1.-uemsk(jj,1)) 
     124               ELSE 
     125                  zcoefe = -zcoef * hu(ji,jj) * e2u(ji,jj)/e1u(ji,jj) 
     126               END IF 
     127               gcp(ji,jj,3) = zcoefe 
     128               ! 
     129               !                                    ! north coefficient 
     130               IF( lp_obc_north .AND. ( jj == njn0 ) ) THEN 
     131                  zcoefn = -zcoef * hv(ji,jj) * e1v(ji,jj)/e2v(ji,jj)*(1.-vnmsk(ji,1)) 
     132               ELSE 
    133133               zcoefn = -zcoef * hv(ji,jj) * e1v(ji,jj)/e2v(ji,jj) 
    134             END IF 
    135             gcp(ji,jj,4) = zcoefn 
    136             ! 
    137             !                                    ! diagonal coefficient 
    138             gcdmat(ji,jj) = e1t(ji,jj)*e2t(ji,jj)*bmask(ji,jj)   & 
    139                &            - zcoefs -zcoefw -zcoefe -zcoefn 
     134               END IF 
     135               gcp(ji,jj,4) = zcoefn 
     136               ! 
     137               !                                    ! diagonal coefficient 
     138               gcdmat(ji,jj) = e1t(ji,jj)*e2t(ji,jj)*bmask(ji,jj)   & 
     139                  &            - zcoefs -zcoefw -zcoefe -zcoefn 
     140            END DO 
    140141         END DO 
    141       END DO 
     142      ENDIF 
    142143#endif 
    143144 
    144       IF( .NOT. Agrif_Root() ) THEN   ! Fine grid boundaries 
     145#if defined key_agrif 
     146      IF( .NOT.AGRIF_ROOT() ) THEN 
    145147         ! 
    146148         IF( nbondi == -1 .OR. nbondi == 2 )   bmask(2     ,:     ) = 0.e0 
     
    191193         !  
    192194      ENDIF 
     195#endif 
    193196 
    194197      ! 2. Boundary conditions  
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r1528 r1970  
    179179      END DO 
    180180 
     181      ! "zonal" mean advective heat and salt transport 
     182      IF( ln_diaptr .AND. ( MOD( kt, nf_ptr ) == 0 ) ) THEN 
     183         pht_adv(:) = ptr_vj( ztv(:,:,:) ) 
     184         pst_adv(:) = ptr_vj( zsv(:,:,:) ) 
     185      ENDIF 
    181186 
    182187      ! Save the intermediate i / j / k advective trends for diagnostics 
     
    366371      ! "zonal" mean advective heat and salt transport 
    367372      IF( ln_diaptr .AND. ( MOD( kt, nf_ptr ) == 0 ) ) THEN 
    368          pht_adv(:) = ptr_vj( ztv(:,:,:) ) 
    369          pst_adv(:) = ptr_vj( zsv(:,:,:) ) 
     373         pht_adv(:) = ptr_vj( ztv(:,:,:) ) + pht_adv(:) 
     374         pst_adv(:) = ptr_vj( zsv(:,:,:) ) + pst_adv(:) 
    370375      ENDIF 
    371376      ! 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/TRA/tranxt.F90

    r1601 r1970  
    3838   USE agrif_opa_update 
    3939   USE agrif_opa_interp 
     40   USE obc_oce  
    4041 
    4142   IMPLICIT NONE 
     
    101102      ! 
    102103#if defined key_obc 
    103       CALL obc_tra( kt )               ! OBC open boundaries 
     104      IF( lk_obc )   CALL obc_tra( kt )  ! OBC open boundaries 
    104105#endif 
    105106#if defined key_bdy 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/lib_mpp.F90

    r1953 r1970  
    20492049      ijpj   = 4 
    20502050      ijpjm1 = 3 
     2051      ztab(:,:,:) = 0.e0 
    20512052      ! 
    20522053      DO jj = nlcj - ijpj +1, nlcj          ! put in znorthloc the last 4 jlines of pt3d 
     
    21142115      ijpj   = 4 
    21152116      ijpjm1 = 3 
     2117      ztab(:,:) = 0.e0 
    21162118      ! 
    21172119      DO jj = nlcj-ijpj+1, nlcj             ! put in znorthloc the last 4 jlines of pt2d 
     
    21792181      ! 
    21802182      ijpj=4 
     2183      ztab(:,:) = 0.e0 
    21812184 
    21822185      ij=0 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/par_POMME_R025.h90

    r1648 r1970  
    2222      jp_cfg = 025  ,        &  !: resolution of the configuration (degrees) 
    2323      ! Original data size 
    24  
    2524      ! ORCA025 global grid size 
    2625      jpiglo_ORCA025 = 1442, & 
    2726      jpjglo_ORCA025 = 1021, &  ! not used currently 
    28  
    2927      ! POMME "global" domain localisation in the ORCA025 global grid 
    3028      jpi_iw    = 1059,      &  
     
    3230      jpj_js    = 661,       & 
    3331      jpj_jn    = 700,       & 
    34  
    3532      jpidta  = ( jpi_ie - jpi_iw + 1 ), &   !: =30 first horizontal dimension > or = to jpi 
    3633      jpjdta  = ( jpj_jn - jpj_js + 1 ), &   !: =40 second                     > or = to jpj 
    3734      jpkdta  = 46 ,         &  !: number of levels           > or = to jpk 
    38  
    3935      ! total domain matrix size 
    4036      jpiglo  = jpidta,      &  !: first  dimension of global domain --> i 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/trc_oce.F90

    r1581 r1970  
    126126      zrgb(1,51) =  3.162   ;   zrgb(2,51) = 0.22703   ;   zrgb(3,51) = 0.16599   ;   zrgb(4,51) = 0.46601 
    127127      zrgb(1,52) =  3.548   ;   zrgb(2,52) = 0.24433   ;   zrgb(3,52) = 0.17334   ;   zrgb(4,52) = 0.47313 
    128       zrgb(1,53) =  3.981   ;   zrgb(2,53) = 0.26301   ;   zrgb(3,53) = 0.18126   ;   zrgb(4,54) = 0.48080 
    129       zrgb(1,54) =  4.467   ;   zrgb(2,54) = 0.28320   ;   zrgb(3,54) = 0.18981   ;   zrgb(4,55) = 0.48909 
    130       zrgb(1,55) =  5.012   ;   zrgb(2,55) = 0.30502   ;   zrgb(3,55) = 0.19903   ;   zrgb(4,56) = 0.49803 
    131       zrgb(1,56) =  5.623   ;   zrgb(2,56) = 0.32858   ;   zrgb(3,56) = 0.20898   ;   zrgb(4,57) = 0.50768 
    132       zrgb(1,57) =  6.310   ;   zrgb(2,57) = 0.35404   ;   zrgb(3,57) = 0.21971   ;   zrgb(4,58) = 0.51810 
    133       zrgb(1,58) =  7.079   ;   zrgb(2,58) = 0.38154   ;   zrgb(3,58) = 0.23129   ;   zrgb(4,59) = 0.52934 
    134       zrgb(1,59) =  7.943   ;   zrgb(2,59) = 0.41125   ;   zrgb(3,59) = 0.24378   ;   zrgb(4,50) = 0.54147 
     128      zrgb(1,53) =  3.981   ;   zrgb(2,53) = 0.26301   ;   zrgb(3,53) = 0.18126   ;   zrgb(4,53) = 0.48080 
     129      zrgb(1,54) =  4.467   ;   zrgb(2,54) = 0.28320   ;   zrgb(3,54) = 0.18981   ;   zrgb(4,54) = 0.48909 
     130      zrgb(1,55) =  5.012   ;   zrgb(2,55) = 0.30502   ;   zrgb(3,55) = 0.19903   ;   zrgb(4,55) = 0.49803 
     131      zrgb(1,56) =  5.623   ;   zrgb(2,56) = 0.32858   ;   zrgb(3,56) = 0.20898   ;   zrgb(4,56) = 0.50768 
     132      zrgb(1,57) =  6.310   ;   zrgb(2,57) = 0.35404   ;   zrgb(3,57) = 0.21971   ;   zrgb(4,57) = 0.51810 
     133      zrgb(1,58) =  7.079   ;   zrgb(2,58) = 0.38154   ;   zrgb(3,58) = 0.23129   ;   zrgb(4,58) = 0.52934 
     134      zrgb(1,59) =  7.943   ;   zrgb(2,59) = 0.41125   ;   zrgb(3,59) = 0.24378   ;   zrgb(4,59) = 0.54147 
    135135      zrgb(1,60) =  8.912   ;   zrgb(2,60) = 0.44336   ;   zrgb(3,60) = 0.25725   ;   zrgb(4,60) = 0.55457 
    136136      zrgb(1,61) = 10.000   ;   zrgb(2,61) = 0.47804   ;   zrgb(3,61) = 0.27178   ;   zrgb(4,61) = 0.56870 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zflx.F90

    r1953 r1970  
    204204          CALL mpp_sum( t_oce_co2_flx )   ! sum over the global domain 
    205205        ENDIF 
     206        ! Conversion in GtC/yr ; negative for outgoing from ocean 
     207        t_oce_co2_flx = (-1.) * t_oce_co2_flx  * 12. / 1.e15 
     208        ! 
    206209        WRITE(numout,*) ' Atmospheric pCO2    :' 
    207210        WRITE(numout,*) '-------------------- : ',kt,'  ',t_atm_co2_flx 
    208211        WRITE(numout,*) '(ppm)' 
    209         WRITE(numout,*) 'Total Flux of Carbon :' 
    210         WRITE(numout,*) '-------------------- : ',t_oce_co2_flx * 12. / 1e15 
    211         WRITE(numout,*) '(GtC/an)' 
     212        WRITE(numout,*) 'Total Flux of Carbon out of the ocean :' 
     213        WRITE(numout,*) '-------------------- : ',t_oce_co2_flx 
     214        WRITE(numout,*) '(GtC/yr)' 
    212215        t_atm_co2_flx = 0. 
    213216        t_oce_co2_flx = 0. 
     217# if defined key_iomput 
     218        CALL iom_put( "tatpco2" , t_atm_co2_flx  ) 
     219        CALL iom_put( "tco2flx" , t_oce_co2_flx  ) 
     220#endif 
    214221      ENDIF 
    215222#endif 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zlys.F90

    r1735 r1970  
    6767#if defined key_trc_dia3d && defined key_iomput 
    6868      REAL(wp) ::   zrfact2 
    69       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zcaldiss, zw3d 
     69      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zcaldiss 
    7070#endif 
    7171      CHARACTER (len=25) :: charout 
     
    9494                  ! SET DUMMY VARIABLE FOR TOTAL BORATE 
    9595                  zbot  = borat(ji,jj,jk) 
     96 
     97                  ! SET DUMMY VARIABLE FOR TOTAL BORATE 
     98                  zbot  = borat(ji,jj,jk) 
    9699                  zfact = rhop (ji,jj,jk) / 1000. + rtrn 
    97100 
     
    171174#  else 
    172175      zrfact2 = 1.e3 * rfact2r 
    173       zw3d(:,:,:) = hi  (:,:,:)                    * tmask(:,:,:) 
    174       CALL iom_put( "PH", zw3d ) 
    175       zw3d(:,:,:) = zco3(:,:,:)                    * tmask(:,:,:) 
    176       CALL iom_put( "CO3", zw3d ) 
    177       zw3d(:,:,:) = aksp(:,:,:) / calcon           * tmask(:,:,:) 
    178       CALL iom_put( "CO3sat", zw3d ) 
    179       zw3d(:,:,:) = zcaldiss(:,:,:) * zrfact2 * tmask(:,:,:) 
    180       CALL iom_put( "Dcal", zw3d ) 
     176      CALL iom_put( "PH"    , hi      (:,:,:)           * tmask(:,:,:) ) 
     177      CALL iom_put( "CO3"   , zco3    (:,:,:)           * tmask(:,:,:) ) 
     178      CALL iom_put( "CO3sat", aksp    (:,:,:) / calcon  * tmask(:,:,:) ) 
     179      CALL iom_put( "DCAL"  , zcaldiss(:,:,:) * zrfact2 * tmask(:,:,:) ) 
    181180#  endif 
    182181# endif 
     
    232231   END SUBROUTINE p4z_lys 
    233232#endif  
    234  
    235233   !!====================================================================== 
    236234END MODULE  p4zlys 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zmeso.F90

    r1953 r1970  
    7676#if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
    7777      REAL(wp) :: zrfact2 
    78       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    7978#endif 
    8079 
     
    203202      END DO 
    204203       
     204#if defined key_trc_dia3d 
     205      ! Total grazing ( grazing by microzoo is already computed in p4zmicro )  
     206      grazing(:,:,:) = grazing(:,:,:) + (  zgrazd  (:,:,:) + zgrazz  (:,:,:) + zgrazn(:,:,:) & 
     207                     &                   + zgrazpoc(:,:,:) + zgrazffe(:,:,:)  ) 
     208#endif 
     209 
    205210 
    206211      DO jk = 1,jpkm1 
     
    311316#if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
    312317      zrfact2 = 1.e3 * rfact2r 
    313       zw3d(:,:,:) = (     zgrazd(:,:,:) +   zgrazz(:,:,:) + zgrazn(:,:,:) & 
    314                     & + zgrazpoc(:,:,:) + zgrazffe(:,:,:)                 ) * zrfact2 * tmask(:,:,:) 
    315       IF( jnt == nrdttrc ) CALL iom_put( "Graz2" , zw3d ) 
    316  
    317       zw3d(:,:,:) = prodcal(:,:,:) * zrfact2 * tmask(:,:,:) 
    318       IF( jnt == nrdttrc ) CALL iom_put( "Pcal"  , zw3d ) 
     318      ! Total grazing of phyto by zoo 
     319      grazing(:,:,:) = grazing(:,:,:) * zrfact2 * tmask(:,:,:) 
     320      ! Calcite production 
     321      prodcal(:,:,:) = prodcal(:,:,:) * zrfact2 * tmask(:,:,:) 
     322      IF( jnt == nrdttrc ) then  
     323         CALL iom_put( "GRAZ" , grazing  )  ! Total grazing of phyto by zooplankton 
     324         CALL iom_put( "PCAL" , prodcal  )  ! Calcite production 
     325      ENDIF 
    319326#endif 
    320327 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zmicro.F90

    r1953 r1970  
    7070      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazmf, zgrazsf, zgrazpf 
    7171      CHARACTER (len=25) :: charout 
    72 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
    73       REAL(wp) :: zrfact2 
    74       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    75 #endif 
    7672 
    7773      !!--------------------------------------------------------------------- 
     
    8884      zgrazpf(:,:,:) = 0. 
    8985 
     86#if defined key_trc_dia3d 
     87      grazing(:,:,:) = 0.  !: Initialisation of  grazing 
     88#endif 
    9089 
    9190      zstep = rfact2 / rday      ! Time step duration for biology 
     
    156155      END DO 
    157156       
     157#if defined key_trc_dia3d 
     158      ! Grazing by microzooplankton 
     159      grazing(:,:,:) = grazing(:,:,:) + zgrazp(:,:,:) + zgrazm(:,:,:) + zgrazsd(:,:,:)  
     160#endif 
    158161 
    159162      DO jk = 1,jpkm1 
     
    231234      END DO 
    232235      ! 
    233 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
    234       zrfact2 = 1.e3 * rfact2r 
    235       zw3d(:,:,:) = ( zgrazp(:,:,:) + zgrazm(:,:,:) + zgrazsd(:,:,:) ) * zrfact2 * tmask(:,:,:) 
    236       IF( jnt == nrdttrc ) CALL iom_put( "Graz" , zw3d ) 
    237 #endif 
    238  
    239        IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     236      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    240237         WRITE(charout, FMT="('micro')") 
    241238         CALL prt_ctl_trc_info(charout) 
    242239         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    243        ENDIF 
     240      ENDIF 
    244241 
    245242   END SUBROUTINE p4z_micro 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zopt.F90

    r1953 r1970  
    6161      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zekg, zekr, zekb 
    6262      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ze1 , ze2 , ze3, ze0 
    63 #if defined key_trc_diaadd && defined key_iomput 
    64      REAL(wp), DIMENSION(jpi,jpj)      ::   zw2d 
    65      REAL(wp), DIMENSION(jpi,jpj,jpk)  ::   zw3d 
    66 #endif 
    6763      !!--------------------------------------------------------------------- 
    6864 
     
    238234# else 
    239235      ! write diagnostics  
    240       zw2d(:,:  ) =  heup(:,:  ) * tmask(:,:,1) 
    241       zw3d(:,:,:) =  etot(:,:,:) * tmask(:,:,:) 
    242       IF( jnt == nrdttrc ) CALL iom_put( "Heup", zw2d )                
    243       IF( jnt == nrdttrc ) CALL iom_put( "PAR" , zw3d ) 
     236      IF( jnt == nrdttrc ) then  
     237         CALL iom_put( "Heup", heup(:,:  ) * tmask(:,:,1) )  ! euphotic layer deptht 
     238         CALL iom_put( "PAR" , etot(:,:,:) * tmask(:,:,:) )  ! Photosynthetically Available Radiation 
     239      ENDIF 
    244240# endif 
    245241#endif 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zprod.F90

    r1953 r1970  
    8181#if defined key_trc_diaadd && defined key_trc_dia3d 
    8282      REAL(wp) ::   zrfact2 
    83 #if  defined key_iomput 
    84       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    85 #endif 
    8683#endif 
    8784      REAL(wp), DIMENSION(jpi,jpj)     ::   zmixnano   , zmixdiat, zstrn 
     
    352349        WRITE(numout,*) 'Total PP :' 
    353350        WRITE(numout,*) '-------------------- : ',tpp * 12. / 1.E12 
    354         WRITE(numout,*) '(GtC/an)' 
     351        WRITE(numout,*) '(GtC/yr)' 
    355352        tpp = 0. 
    356353      ENDIF 
    357354 
    358 #if defined key_trc_diaadd && defined key_trc_dia3d 
     355#if defined key_trc_diaadd && defined key_trc_dia3d && ! defined key_iomput 
     356      !   Supplementary diagnostics 
    359357      zrfact2 = 1.e3 * rfact2r 
    360       !   Supplementary diagnostics 
    361 #  if ! defined key_iomput 
    362358      trc3d(:,:,:,jp_pcs0_3d + 4)  = zprorca (:,:,:) * zrfact2 * tmask(:,:,:) 
    363359      trc3d(:,:,:,jp_pcs0_3d + 5)  = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) 
     
    366362      trc3d(:,:,:,jp_pcs0_3d + 8)  = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) 
    367363      trc3d(:,:,:,jp_pcs0_3d + 9)  = zprofed (:,:,:) * zrfact2 * tmask(:,:,:) 
    368 #if ! defined key_kriest 
     364#  if ! defined key_kriest 
    369365      trc3d(:,:,:,jp_pcs0_3d + 10) = zprofen (:,:,:) * zrfact2 * tmask(:,:,:) 
     366#  endif 
    370367#endif 
    371368 
    372 # else 
    373       zw3d(:,:,:) = zprorca (:,:,:) * zrfact2 * tmask(:,:,:) 
    374       IF( jnt == nrdttrc ) CALL iom_put( "PPPHY" , zw3d ) 
    375       zw3d(:,:,:) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) 
    376       IF( jnt == nrdttrc ) CALL iom_put( "PPPHY2", zw3d ) 
    377       zw3d(:,:,:) = zpronew (:,:,:) * zrfact2 * tmask(:,:,:) 
    378       IF( jnt == nrdttrc ) CALL iom_put( "PPNEWN" , zw3d ) 
    379       zw3d(:,:,:) = zpronewd(:,:,:) * zrfact2 * tmask(:,:,:) 
    380       IF( jnt == nrdttrc ) CALL iom_put( "PPNEWD", zw3d ) 
    381       zw3d(:,:,:) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) 
    382       IF( jnt == nrdttrc ) CALL iom_put( "PBSi"  , zw3d ) 
    383       zw3d(:,:,:) = zprofed (:,:,:) * zrfact2 * tmask(:,:,:) 
    384       IF( jnt == nrdttrc ) CALL iom_put( "PFeD"  , zw3d ) 
    385       zw3d(:,:,:) = zprofen (:,:,:) * zrfact2 * tmask(:,:,:) 
    386       IF( jnt == nrdttrc ) CALL iom_put( "PFeN"  , zw3d ) 
    387 # endif 
     369#if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
     370      zrfact2 = 1.e3 * rfact2r 
     371      IF ( jnt == nrdttrc ) then 
     372         CALL iom_put( "PPPHY" , zprorca (:,:,:) * zrfact2 * tmask(:,:,:) )  ! primary production by nanophyto 
     373         CALL iom_put( "PPPHY2", zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) )  ! primary production by diatom 
     374         CALL iom_put( "PPNEWN", zpronew (:,:,:) * zrfact2 * tmask(:,:,:) )  ! new primary production by nanophyto 
     375         CALL iom_put( "PPNEWD", zpronewd(:,:,:) * zrfact2 * tmask(:,:,:) )  ! new primary production by diatom 
     376         CALL iom_put( "PBSi"  , zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) ) ! biogenic silica production 
     377         CALL iom_put( "PFeD"  , zprofed (:,:,:) * zrfact2 * tmask(:,:,:) )  ! biogenic iron production by diatom 
     378         CALL iom_put( "PFeN"  , zprofen (:,:,:) * zrfact2 * tmask(:,:,:) )  ! biogenic iron production by nanophyto 
     379      ENDIF 
    388380#endif 
    389381 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zsed.F90

    r1735 r1970  
    9696      REAL(wp) :: zrfact2 
    9797# if defined key_iomput 
    98      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d  
    9998     REAL(wp), DIMENSION(jpi,jpj)    ::    zw2d  
    10099# endif 
     
    332331      trc2d(:,:,jp_pcs0_2d + 12) = znitrpot(:,:,1) * 1.e-7 * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 
    333332# else 
    334       ! write diagnostics 
    335       zw2d(:,:)   =  ( zirondep(:,:,1) + ironsed(:,:,1) * rfact2 ) & 
    336       &            * zrfact2 * fse3t(:,:,1) * tmask(:,:,1)      
     333      ! surface downward net flux of iron 
     334      zw2d(:,:)   =  ( zirondep(:,:,1) + ironsed(:,:,1) * rfact2 ) * zrfact2 * fse3t(:,:,1) * tmask(:,:,1)  
    337335      IF( jnt == nrdttrc ) CALL iom_put( "Irondep", zw2d ) 
    338       zw3d(:,:,:) = znitrpot(:,:,:) * 1.e-7 * zrfact2  * fse3t(:,:,:) * tmask(:,:,:) 
    339       IF( jnt == nrdttrc ) CALL iom_put( "Nfix", zw3d  )  
    340 # endif 
    341  
     336      ! nitrogen fixation at surface 
     337      zw2d(:,:)   =  znitrpot(:,:,1) * 1.e-7 * zrfact2  * fse3t(:,:,1) * tmask(:,:,1) 
     338      IF( jnt == nrdttrc ) CALL iom_put( "Nfix" , zw2d ) 
     339# endif 
    342340# endif 
    343341      ! 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/p4zsink.F90

    r1953 r1970  
    9999#if defined key_trc_diaadd 
    100100      REAL(wp) :: zrfact2 
    101       INTEGER  :: iksed1 
    102 #if defined key_iomput 
    103       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    104 #endif 
     101      INTEGER  :: ik1 
    105102#endif 
    106103      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   znum3d 
     
    286283#if defined key_trc_diaadd 
    287284      zrfact2 = 1.e3 * rfact2r 
    288       iksed1 = iksed + 1 
     285      ik1 = iksed + 1 
    289286#  if ! defined key_iomput 
    290       trc2d(:,:  ,jp_pcs0_2d + 4)  = sinking (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    291       trc2d(:,:  ,jp_pcs0_2d + 5)  = sinking2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    292       trc2d(:,:  ,jp_pcs0_2d + 6)  = sinkfer (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    293       trc2d(:,:  ,jp_pcs0_2d + 7)  = sinksil (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    294       trc2d(:,:  ,jp_pcs0_2d + 8)  = sinkcal (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
     287      trc2d(:,:  ,jp_pcs0_2d + 4)  = sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) 
     288      trc2d(:,:  ,jp_pcs0_2d + 5)  = sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) 
     289      trc2d(:,:  ,jp_pcs0_2d + 6)  = sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) 
     290      trc2d(:,:  ,jp_pcs0_2d + 7)  = sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) 
     291      trc2d(:,:  ,jp_pcs0_2d + 8)  = sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) 
    295292      trc3d(:,:,:,jp_pcs0_3d + 11) = sinking (:,:,:)      * zrfact2 * tmask(:,:,:) 
    296293      trc3d(:,:,:,jp_pcs0_3d + 12) = sinking2(:,:,:)      * zrfact2 * tmask(:,:,:) 
     
    301298      trc3d(:,:,:,jp_pcs0_3d + 17) = wsbio4  (:,:,:)                * tmask(:,:,:) 
    302299#else 
    303       zw3d(:,:,:)  = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 
    304       IF( jnt == nrdttrc ) CALL iom_put( "PMO" , zw3d ) 
    305       zw3d(:,:,:)  = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 
    306       IF( jnt == nrdttrc ) CALL iom_put( "PMO2", zw3d ) 
    307       zw3d(:,:,:)  = sinkfer (:,:,:) * zrfact2 * tmask(:,:,:) 
    308       IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw3d ) 
    309       zw3d(:,:,:)  = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 
    310       IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw3d ) 
    311       zw3d(:,:,:)  = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 
    312       IF( jnt == nrdttrc ) CALL iom_put( "ExpCaCO3", zw3d ) 
    313       zw3d(:,:,:)  = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 
    314       IF( jnt == nrdttrc ) CALL iom_put( "POCFlx", zw3d ) 
    315       zw3d(:,:,:)  = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 
    316       IF( jnt == nrdttrc ) CALL iom_put( "GOCFlx", zw3d ) 
    317       zw3d(:,:,:)  = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 
    318       IF( jnt == nrdttrc ) CALL iom_put( "SiFlx", zw3d ) 
    319       zw3d(:,:,:)  = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 
    320       IF( jnt == nrdttrc ) CALL iom_put( "CaCO3Flx", zw3d ) 
    321       zw3d(:,:,:)  = znum3d  (:,:,:)           * tmask(:,:,:) 
    322       IF( jnt == nrdttrc ) CALL iom_put( "xnum", zw3d ) 
    323       zw3d(:,:,:)  = wsbio3  (:,:,:)           * tmask(:,:,:) 
    324       IF( jnt == nrdttrc ) CALL iom_put( "W1", zw3d ) 
    325       zw3d(:,:,:)  = wsbio4  (:,:,:)           * tmask(:,:,:) 
    326       IF( jnt == nrdttrc ) CALL iom_put( "W2", zw3d ) 
     300      IF( jnt == nrdttrc ) then 
     301        CALL iom_put( "POCFlx"  , sinking (:,:,:)      * zrfact2 * tmask(:,:,:) )  ! POC export 
     302        CALL iom_put( "NumFlx"  , sinking2 (:,:,:)     * zrfact2 * tmask(:,:,:) )  ! Num export 
     303        CALL iom_put( "SiFlx"   , sinksil (:,:,:)      * zrfact2 * tmask(:,:,:) )  ! Silica export 
     304        CALL iom_put( "CaCO3Flx", sinkcal (:,:,:)      * zrfact2 * tmask(:,:,:) )  ! Calcite export 
     305        CALL iom_put( "xnum"    , znum3d  (:,:,:)                * tmask(:,:,:) )  ! Number of particles in aggregats 
     306        CALL iom_put( "W1"      , wsbio3  (:,:,:)                * tmask(:,:,:) )  ! sinking speed of POC 
     307        CALL iom_put( "W2"      , wsbio4  (:,:,:)                * tmask(:,:,:) )  ! sinking speed of aggregats 
     308        CALL iom_put( "PMO"     , sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) )  ! POC export at 100m 
     309        CALL iom_put( "PMO2"    , sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) )  ! Num export at 100m 
     310        CALL iom_put( "ExpFe1"  , sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) )  ! Export of iron at 100m 
     311        CALL iom_put( "ExpSi"   , sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) )  ! export of silica at 100m 
     312        CALL iom_put( "ExpCaCO3", sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) )  ! export of calcite at 100m 
     313     ENDIF 
    327314#  endif 
    328315 
     
    489476#if defined key_trc_dia3d 
    490477      REAL(wp) ::   zrfact2 
    491       INTEGER  ::   iksed1 
    492 #endif 
    493 #if defined key_iomput 
    494       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
     478      INTEGER  ::   ik1 
    495479#endif 
    496480      CHARACTER (len=25) :: charout 
     
    613597#if defined key_trc_diaadd 
    614598      zrfact2 = 1.e3 * rfact2r 
    615       iksed1 = iksed + 1 
     599      ik1 = iksed + 1 
    616600#  if ! defined key_iomput 
    617       trc2d(:,:,jp_pcs0_2d + 4) = sinking (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    618       trc2d(:,:,jp_pcs0_2d + 5) = sinking2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    619       trc2d(:,:,jp_pcs0_2d + 6) = sinkfer (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    620       trc2d(:,:,jp_pcs0_2d + 7) = sinkfer2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    621       trc2d(:,:,jp_pcs0_2d + 8) = sinksil (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    622       trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
     601      trc2d(:,:,jp_pcs0_2d + 4) = sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) 
     602      trc2d(:,:,jp_pcs0_2d + 5) = sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) 
     603      trc2d(:,:,jp_pcs0_2d + 6) = sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) 
     604      trc2d(:,:,jp_pcs0_2d + 7) = sinkfer2(:,:,ik1) * zrfact2 * tmask(:,:,1) 
     605      trc2d(:,:,jp_pcs0_2d + 8) = sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) 
     606      trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) 
    623607#  else 
    624       zw3d(:,:,:)  = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 
    625       IF( jnt == nrdttrc ) CALL iom_put( "ExpPOC" , zw3d ) 
    626       zw3d(:,:,:)  = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 
    627       IF( jnt == nrdttrc ) CALL iom_put( "ExpGOC", zw3d ) 
    628       zw3d(:,:,:)  = sinkfer (:,:,:) * zrfact2 * tmask(:,:,:) 
    629       IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw3d ) 
    630       zw3d(:,:,:)  = sinkfer2(:,:,:) * zrfact2 * tmask(:,:,:) 
    631       IF( jnt == nrdttrc ) CALL iom_put( "ExpFe2", zw3d ) 
    632       zw3d(:,:,:)  = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 
    633       IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw3d ) 
    634       zw3d(:,:,:)  = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 
    635       IF( jnt == nrdttrc ) CALL iom_put( "Expcal", zw3d ) 
    636 #  endif 
     608      IF( jnt == nrdttrc )  then 
     609         CALL iom_put( "EPC100"  , ( sinking(:,:,ik1) + sinking2(:,:,ik1) ) * zrfact2 * tmask(:,:,1) ) ! Export of carbon at 100m 
     610         CALL iom_put( "EPFE100" , ( sinkfer(:,:,ik1) + sinkfer2(:,:,ik1) ) * zrfact2 * tmask(:,:,1) ) ! Export of iron at 100m 
     611         CALL iom_put( "EPCAL100",   sinkcal(:,:,ik1)                       * zrfact2 * tmask(:,:,1) ) ! Export of calcite  at 100m 
     612         CALL iom_put( "EPSI100" ,   sinksil(:,:,ik1)                       * zrfact2 * tmask(:,:,1) ) ! Export of biogenic silica at 100m 
     613      ENDIF 
     614#endif 
    637615#endif 
    638616      ! 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/sms_pisces.F90

    r1953 r1970  
    6464#if defined key_trc_dia3d 
    6565   REAL(wp), DIMENSION(jpi,jpj,jpk) ::   prodcal    !: Calcite production 
     66   REAL(wp), DIMENSION(jpi,jpj,jpk) ::   grazing    !: Total zooplankton grazing 
    6667#endif 
    6768 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/PISCES/trcrst_pisces.F90

    r1953 r1970  
    263263#if defined key_dtatrc 
    264264      ! Restore close seas values to initial data 
    265       nmonth = 1 
    266       nday   = 1 
    267       CALL trc_dta( nittrc000)  
     265      CALL trc_dta( nittrc000 )  
    268266      DO jn = 1, jptra 
    269267         IF( lutini(jn) ) THEN 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/par_trc.F90

    r1254 r1970  
    1818   USE par_lobster   ! LOBSTER model 
    1919   USE par_pisces    ! PISCES  model 
     20   USE par_c14b      ! C14 bomb tracer 
    2021   USE par_cfc       ! CFC 11 and 12 tracers 
    21    USE par_c14b      ! C14 bomb tracer  
    2222   USE par_my_trc    ! user defined passive tracers 
    2323 
     
    2727   ! Passive tracers : Total size 
    2828   ! ---------------               ! total number of passive tracers, of 2d and 3d output and trend arrays 
    29    INTEGER, PUBLIC, PARAMETER ::   jptra    =  jp_lobster    + jp_pisces     + jp_cfc     + jp_c14b     + jp_my_trc 
    30    INTEGER, PUBLIC, PARAMETER ::   jpdia2d  =  jp_lobster_2d + jp_pisces_2d  + jp_cfc_2d  + jp_c14b_2d  + jp_my_trc_2d 
    31    INTEGER, PUBLIC, PARAMETER ::   jpdia3d  =  jp_lobster_3d + jp_pisces_3d  + jp_cfc_3d  + jp_c14b_3d  + jp_my_trc_3d 
     29   INTEGER, PUBLIC, PARAMETER ::   jptra    =  jp_lobster    + jp_pisces     + jp_cfc     + jp_my_trc 
     30   INTEGER, PUBLIC, PARAMETER ::   jpdia2d  =  jp_lobster_2d + jp_pisces_2d  + jp_cfc_2d  + jp_my_trc_2d 
     31   INTEGER, PUBLIC, PARAMETER ::   jpdia3d  =  jp_lobster_3d + jp_pisces_3d  + jp_cfc_3d  + jp_my_trc_3d 
    3232   !                     ! total number of sms diagnostic arrays 
    33    INTEGER, PUBLIC, PARAMETER ::   jpdiabio = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd + jp_c14b_trd + jp_my_trc_trd 
     33   INTEGER, PUBLIC, PARAMETER ::   jpdiabio = jp_lobster_trd + jp_pisces_trd + jp_cfc_trd + jp_my_trc_trd 
    3434    
    3535   !  1D configuration ("key_c1d") 
     
    4040   LOGICAL, PUBLIC, PARAMETER ::   lk_trc_c1d   = .FALSE.  !: 1D pass. tracer configuration flag 
    4141# endif 
    42  
    4342   ! Passive tracers : size for TRP trends diagnotics (used if 'key_trc_diatrd' defined) 
    44 #if defined key_trcldf_eiv 
    45 # if defined key_trcdmp 
    46    INTEGER, PARAMETER :: jpdiatrc = 11      !: trends: 3*(advection + diffusion + eiv ) + damping + sms 
    47 # else 
    48    INTEGER, PARAMETER :: jpdiatrc = 10      !: trends: 3*(advection + diffusion + eiv )           + sms 
    49 # endif 
    50 #else 
    51 # if defined key_trcdmp 
    52    INTEGER, PARAMETER :: jpdiatrc =  8      !: trends: 3*(advection + diffusion       ) + damping + sms 
    53 # else 
    54    INTEGER, PARAMETER :: jpdiatrc =  7      !: trends: 3*(advection + diffusion       ) + damping + sms 
    55 # endif 
     43# if defined key_trc_diatrd 
     44   ! Passive tracers : size for TRP trends diagnotics (used if 'key_trc_diatrd' defined) 
     45   INTEGER, PARAMETER ::   jptrc_xad     =  1   !: x- horizontal advection 
     46   INTEGER, PARAMETER ::   jptrc_yad     =  2   !: y- horizontal advection 
     47   INTEGER, PARAMETER ::   jptrc_zad     =  3   !: z- vertical   advection 
     48   INTEGER, PARAMETER ::   jptrc_xdf     =  4   !: lateral       diffusion 
     49   INTEGER, PARAMETER ::   jptrc_ydf     =  5   !: lateral       diffusion 
     50   INTEGER, PARAMETER ::   jptrc_zdf     =  6   !: vertical diffusion (Kz) 
     51   INTEGER, PARAMETER ::   jptrc_sbc     =  7   !: surface boundary condition 
     52#if ! defined key_trcldf_eiv && ! defined key_trcdmp 
     53   INTEGER, PARAMETER ::   jpdiatrc      =  7  !: trends: 3*(advection + diffusion       ) + sbc 
     54#endif 
     55#if defined key_trcldf_eiv && defined key_trcdmp 
     56   INTEGER, PARAMETER ::   jptrc_xei     =  8   !: x- horiz. EIV advection 
     57   INTEGER, PARAMETER ::   jptrc_yei     =  9   !: y- horiz. EIV advection 
     58   INTEGER, PARAMETER ::   jptrc_zei     = 10   !: z- vert.  EIV advection 
     59   INTEGER, PARAMETER ::   jptrc_dmp     = 11   !: damping 
     60   INTEGER, PARAMETER ::   jpdiatrc      = 11   !: trends: 3*(advection + diffusion + eiv ) + sbc + damping 
     61#endif 
     62#if defined key_trcldf_eiv && ! defined key_trcdmp 
     63   INTEGER, PARAMETER ::   jptrc_xei     =  8   !: x- horiz. EIV advection 
     64   INTEGER, PARAMETER ::   jptrc_yei     =  9   !: y- horiz. EIV advection 
     65   INTEGER, PARAMETER ::   jptrc_zei     = 10   !: z- vert.  EIV advection 
     66   INTEGER, PARAMETER ::   jpdiatrc      = 10   !: trends: 3*(advection + diffusion + eiv ) + sbc  
     67#endif 
     68#if ! defined key_trcldf_eiv && defined key_trcdmp 
     69   INTEGER, PARAMETER ::   jptrc_dmp     =  8   !: damping 
     70   INTEGER, PARAMETER ::   jpdiatrc      =  8   !: trends: 3*(advection + diffusion       ) + sbc + damping 
     71#endif 
    5672#endif 
    5773 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/trcdia.F90

    r1715 r1970  
    2525   USE trc 
    2626   USE trp_trc 
     27   USE par_trc 
    2728   USE trdmld_trc_oce, ONLY : luttrd 
    2829   USE dianam    ! build name of file (routine) 
     
    4142   INTEGER  ::   ndimt50   !: number of ocean points in index array 
    4243   INTEGER  ::   ndimt51   !: number of ocean points in index array 
    43    REAL(wp) ::   xjulian   !: ????   not DOCTOR ! 
     44   REAL(wp) ::   zjulian   !: ????   not DOCTOR ! 
    4445   INTEGER , DIMENSION (jpij*jpk) ::   ndext50   !: integer arrays for ocean 3D index 
    4546   INTEGER , DIMENSION (jpij)     ::   ndext51   !: integer arrays for ocean surface index 
     
    157158 
    158159         ! Compute julian date from starting date of the run 
    159          CALL ymds2ju( nyear, nmonth, nday, rdt, xjulian ) 
    160          xjulian = xjulian - adatrj   !   set calendar origin to the beginning of the experiment 
     160         CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian ) 
     161         zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment 
    161162         IF(lwp)WRITE(numout,*)' '   
    162163         IF(lwp)WRITE(numout,*)' Date 0 used :', nittrc000                         & 
    163164            &                 ,' YEAR ', nyear, ' MONTH ', nmonth, ' DAY ', nday   & 
    164             &                 ,'Julian day : ', xjulian   
     165            &                 ,'Julian day : ', zjulian   
    165166   
    166167         IF(lwp) WRITE(numout,*) ' indexes of zoom = ', iimi, iima, ijmi, ijma,  & 
     
    171172         IF(lwp) THEN 
    172173            CALL dia_nam( clhstnam, nwritetrc,' ' ) 
    173             CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
     174            CALL ctlopn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, narea ) 
    174175            WRITE(inum,*) clhstnam 
    175176            CLOSE(inum) 
     
    184185         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,     & 
    185186            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,         &  
    186             &          nittrc000-ndttrc, xjulian, zdt, nhorit5, nit5 , domain_id=nidom) 
     187            &          nittrc000-ndttrc, zjulian, zdt, nhorit5, nit5 , domain_id=nidom) 
    187188 
    188189         ! Vertical grid for tracer : gdept 
     
    258259      CHARACTER (len=80) ::   cltral 
    259260      CHARACTER (len=10) ::   csuff 
    260       INTEGER  ::   jn, jl 
     261      INTEGER  ::   jn, jl, ikn 
    261262      INTEGER  ::   iimi, iima, ijmi, ijma, ipk, it, itmod 
    262263      REAL(wp) ::   zsto, zout, zdt 
     
    313314               CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,       & 
    314315                  &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,   & 
    315                   &          nittrc000-ndttrc, xjulian, zdt, nhorit6(jn),  & 
     316                  &          nittrc000-ndttrc, zjulian, zdt, nhorit6(jn),  & 
    316317                  &          nit6(jn) , domain_id=nidom ) 
    317318 
     
    322323 
    323324          ! Declare all the output fields as NETCDF variables 
    324  
    325           ! trends for tracer concentrations 
    326325          DO jn = 1, jptra 
    327326            IF( luttrd(jn) ) THEN 
    328327                DO jl = 1, jpdiatrc 
    329                   IF( jl == 1 ) THEN 
     328                  IF( jl == jptrc_xad ) THEN 
    330329                      ! short and long title for x advection for tracer 
    331330                      WRITE (cltra,'("XAD_",16a)') ctrcnm(jn) 
    332                       WRITE (cltral,'("X advective trend for ",58a)')  & 
    333                          &      ctrcnl(jn)(1:58) 
    334                   END IF 
    335                   IF( jl == 2 ) THEN 
     331                      WRITE (cltral,'("X advective trend for ",58a)') ctrcnl(jn)(1:58) 
     332                  END IF 
     333                  IF( jl == jptrc_yad ) THEN 
    336334                      ! short and long title for y advection for tracer 
    337335                      WRITE (cltra,'("YAD_",16a)') ctrcnm(jn) 
    338                       WRITE (cltral,'("Y advective trend for ",58a)')  & 
    339                          &      ctrcnl(jn)(1:58) 
    340                   END IF 
    341                   IF( jl == 3 ) THEN 
     336                      WRITE (cltral,'("Y advective trend for ",58a)') ctrcnl(jn)(1:58) 
     337                  END IF 
     338                  IF( jl == jptrc_zad ) THEN 
    342339                      ! short and long title for Z advection for tracer 
    343340                      WRITE (cltra,'("ZAD_",16a)') ctrcnm(jn) 
    344                       WRITE (cltral,'("Z advective trend for ",58a)')  & 
    345                          &      ctrcnl(jn)(1:58) 
    346                   END IF 
    347                   IF( jl == 4 ) THEN 
     341                      WRITE (cltral,'("Z advective trend for ",58a)') ctrcnl(jn)(1:58) 
     342                  END IF 
     343                  IF( jl == jptrc_xdf ) THEN 
    348344                      ! short and long title for X diffusion for tracer 
    349345                      WRITE (cltra,'("XDF_",16a)') ctrcnm(jn) 
    350                       WRITE (cltral,'("X diffusion trend for ",58a)')  & 
    351                          &      ctrcnl(jn)(1:58) 
    352                   END IF 
    353                   IF( jl == 5 ) THEN 
     346                      WRITE (cltral,'("X diffusion trend for ",58a)') ctrcnl(jn)(1:58) 
     347                  END IF 
     348                  IF( jl == jptrc_ydf ) THEN 
    354349                      ! short and long title for Y diffusion for tracer 
    355350                      WRITE (cltra,'("YDF_",16a)') ctrcnm(jn) 
    356                       WRITE (cltral,'("Y diffusion trend for ",58a)')  & 
    357                          &      ctrcnl(jn)(1:58) 
    358                   END IF 
    359                   IF( jl == 6 ) THEN 
     351                      WRITE (cltral,'("Y diffusion trend for ",58a)') ctrcnl(jn)(1:58) 
     352                  END IF 
     353                  IF( jl == jptrc_zdf ) THEN 
    360354                      ! short and long title for Z diffusion for tracer 
    361355                      WRITE (cltra,'("ZDF_",16a)') ctrcnm(jn) 
    362                       WRITE (cltral,'("Z diffusion trend for ",58a)')  & 
    363                          &      ctrcnl(jn)(1:58) 
     356                      WRITE (cltral,'("Z diffusion trend for ",58a)') ctrcnl(jn)(1:58) 
    364357                  END IF 
    365358# if defined key_trcldf_eiv 
    366                   IF( jl == 7 ) THEN 
     359                  IF( jl == jptrc_xei ) THEN 
    367360                      ! short and long title for x gent velocity for tracer 
    368361                      WRITE (cltra,'("XGV_",16a)') ctrcnm(jn) 
    369                       WRITE (cltral,'("X gent velocity trend for ",53a)')  & 
    370                          &      ctrcnl(jn)(1:53) 
    371                   END IF 
    372                   IF( jl == 8 ) THEN 
     362                      WRITE (cltral,'("X gent velocity trend for ",53a)') ctrcnl(jn)(1:53) 
     363                  END IF 
     364                  IF( jl == jptrc_yei ) THEN 
    373365                      ! short and long title for y gent velocity for tracer 
    374366                      WRITE (cltra,'("YGV_",16a)') ctrcnm(jn) 
    375                       WRITE (cltral,'("Y gent velocity trend for ",53a)')  & 
    376                          &      ctrcnl(jn)(1:53) 
    377                   END IF 
    378                   IF( jl == 9 ) THEN 
     367                      WRITE (cltral,'("Y gent velocity trend for ",53a)') ctrcnl(jn)(1:53) 
     368                  END IF 
     369                  IF( jl == jptrc_zei ) THEN 
    379370                      ! short and long title for Z gent velocity for tracer 
    380371                      WRITE (cltra,'("ZGV_",16a)') ctrcnm(jn) 
    381                       WRITE (cltral,'("Z gent velocity trend for ",53a)')  & 
    382                          &      ctrcnl(jn)(1:53) 
     372                      WRITE (cltral,'("Z gent velocity trend for ",53a)') ctrcnl(jn)(1:53) 
    383373                  END IF 
    384374# endif 
    385375# if defined key_trcdmp 
    386                   IF( jl == jpdiatrc - 1 ) THEN 
     376                  IF( jl == jptrc_dmp ) THEN 
    387377                      ! last trends for tracer damping : short and long title 
    388378                      WRITE (cltra,'("TDM_",16a)') ctrcnm(jn) 
    389                       WRITE (cltral,'("Tracer damping trend for ",55a)')  & 
    390                          &      ctrcnl(jn)(1:55) 
    391                   END IF 
    392 # endif 
    393                   IF( jl == jpdiatrc ) THEN 
     379                      WRITE (cltral,'("Tracer damping trend for ",55a)') ctrcnl(jn)(1:55) 
     380                  END IF 
     381# endif 
     382                  IF( jl == jptrc_sbc ) THEN 
    394383                      ! last trends for tracer damping : short and long title 
    395384                      WRITE (cltra,'("SBC_",16a)') ctrcnm(jn) 
    396                       WRITE (cltral,'("Surface boundary flux ",58a)')  & 
    397                       &      ctrcnl(jn)(1:58) 
    398                   END IF 
    399  
     385                      WRITE (cltral,'("Surface boundary flux ",58a)') ctrcnl(jn)(1:55) 
     386                  END IF 
     387                      WRITE (cltral,'("Surface boundary flux ",58a)') ctrcnl(jn)(1:55) 
     388                  END IF 
    400389                  CALL FLUSH( numout ) 
    401390                  cltrau = ctrcun(jn)      ! UNIT for tracer /trends 
     
    406395            END IF 
    407396         END DO 
    408  
    409397         ! CLOSE netcdf Files 
    410398          DO jn = 1, jptra 
     
    432420      DO jn = 1, jptra 
    433421         IF( luttrd(jn) ) THEN 
     422            ikn = ikeep(jn)  
    434423            DO jl = 1, jpdiatrc 
    435                ! short titles  
    436                IF( jl == 1)   WRITE (cltra,'("XAD_",16a)') ctrcnm(jn)      ! x advection for tracer 
    437                IF( jl == 2)   WRITE (cltra,'("YAD_",16a)') ctrcnm(jn)      ! z advection for tracer 
    438                IF( jl == 3)   WRITE (cltra,'("ZAD_",16a)') ctrcnm(jn)      ! z advection for tracer 
    439                IF( jl == 4)   WRITE (cltra,'("XDF_",16a)') ctrcnm(jn)      ! x diffusion for tracer 
    440                IF( jl == 5)   WRITE (cltra,'("YDF_",16a)') ctrcnm(jn)      ! y diffusion for tracer 
    441                IF( jl == 6)   WRITE (cltra,'("ZDF_",16a)') ctrcnm(jn)      ! z diffusion for tracer 
     424               ! short titles 
     425               IF( jl == jptrc_xad)   WRITE (cltra,'("XAD_",16a)') ctrcnm(jn) 
     426               IF( jl == jptrc_yad)   WRITE (cltra,'("YAD_",16a)') ctrcnm(jn) 
     427               IF( jl == jptrc_zad)   WRITE (cltra,'("ZAD_",16a)') ctrcnm(jn) 
     428               IF( jl == jptrc_xdf)   WRITE (cltra,'("XDF_",16a)') ctrcnm(jn) 
     429               IF( jl == jptrc_ydf)   WRITE (cltra,'("YDF_",16a)') ctrcnm(jn) 
     430               IF( jl == jptrc_zdf)   WRITE (cltra,'("ZDF_",16a)') ctrcnm(jn) 
    442431# if defined key_trcldf_eiv 
    443                IF( jl == 7)   WRITE (cltra,'("XGV_",16a)') ctrcnm(jn)      ! x gent velocity for tracer 
    444                IF( jl == 8)   WRITE (cltra,'("YGV_",16a)') ctrcnm(jn)      ! y gent velocity for tracer 
    445                IF( jl == 9)   WRITE (cltra,'("ZGV_",16a)') ctrcnm(jn)      ! z gent velocity for tracer 
     432               IF( jl == jptrc_xei)   WRITE (cltra,'("XGV_",16a)') ctrcnm(jn) 
     433               IF( jl == jptrc_yei)   WRITE (cltra,'("YGV_",16a)') ctrcnm(jn) 
     434               IF( jl == jptrc_zei)   WRITE (cltra,'("ZGV_",16a)') ctrcnm(jn) 
    446435# endif 
    447436# if defined key_trcdmp 
    448                IF( jl == jpdiatrc - 1 )   WRITE (cltra,'("TDM_",16a)') ctrcnm(jn)      ! damping 
    449 # endif 
    450                IF( jl == jpdiatrc )   WRITE (cltra,'("SBC_",a)') ctrcnm(jn)      ! surface boundary conditions 
     437               IF( jl == jptrc_dmp )  WRITE (cltra,'("TDM_",16a)') ctrcnm(jn) 
     438# endif 
     439               IF( jl == jptrc_sbc )  WRITE (cltra,'("SBC_",16a)') ctrcnm(jn) 
    451440               ! 
    452                CALL histwrite(nit6(jn), cltra, it, trtrd(:,:,:,ikeep(jn),jl),ndimt50, ndext50) 
     441               CALL histwrite(nit6(jn), cltra, it, trtrd(:,:,:,ikn,jl),ndimt50, ndext50) 
    453442            END DO 
    454443         END IF 
     
    552541         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,             & 
    553542            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,         & 
    554             &          nittrc000-ndttrc, xjulian, zdt, nhoritd, nitd , domain_id=nidom ) 
     543            &          nittrc000-ndttrc, zjulian, zdt, nhoritd, nitd , domain_id=nidom ) 
    555544 
    556545         ! Vertical grid for 2d and 3d arrays 
     
    700689         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,      & 
    701690            &    iimi, iima-iimi+1, ijmi, ijma-ijmi+1,          & 
    702             &    nittrc000-ndttrc, xjulian, zdt, nhoritb, nitb , domain_id=nidom ) 
     691            &    nittrc000-ndttrc, zjulian, zdt, nhoritb, nitb , domain_id=nidom ) 
    703692         ! Vertical grid for biological trends 
    704693         CALL histvert(nitb, 'deptht', 'Vertical T levels', 'm', ipk, gdept_0, ndepitb) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/trcini.F90

    r1745 r1970  
    122122         trb(:,:,:,:) = trn(:,:,:,:) 
    123123      ELSE 
     124         ! 
    124125         CALL trc_rst_read      ! restart from a file 
    125 #if defined key_off_tra 
    126          CALL day_init          ! calendar 
    127 #endif 
     126         ! 
    128127      ENDIF 
    129128 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/trcrst.F90

    r1953 r1970  
    3333   USE trcrst_c14b     ! C14 bomb restart 
    3434   USE trcrst_my_trc   ! MY_TRC   restart 
    35  
     35#if defined key_off_tra 
     36    USE daymod 
     37#endif 
    3638   IMPLICIT NONE 
    3739   PRIVATE 
     
    277279           WRITE(numout,*) 
    278280         ENDIF 
     281         ! 
     282         CALL day_init          ! compute calendar 
     283         ! 
    279284#endif 
    280285 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/TOP_SRC/trcwri.F90

    r1656 r1970  
    11MODULE trcwri 
    2    !!====================================================================== 
     2   !!=================================================================================== 
    33   !!                       *** MODULE trcwri *** 
    4    !!    TOP :   Output of passive tracers  
    5    !!====================================================================== 
    6    !!             1.0  !   
    7    !!                  !  2009-05 (C. Ethe ) 
     4   !!    TOP :   Output of passive tracers 
     5   !!==================================================================================== 
     6   !! History :   1.0  !  2009-05 (C. Ethe)  Original code 
     7   !!                  !  2010-03 (C. Ethe, R. Seferian ) Add the tracer transport trends 
    88   !!---------------------------------------------------------------------- 
    99#if defined key_top &&  defined key_iomput 
     
    1111   !!   'key_top' && 'key_iomput'                              TOP models 
    1212   !!---------------------------------------------------------------------- 
    13    !! trc_wri     :  outputs of concentration fields 
     13   !! trc_wri_trc   :  outputs of concentration fields 
     14   !! trc_wri_trd   :  outputs of transport trends 
    1415   !!---------------------------------------------------------------------- 
     16   USE dom_oce         ! ocean space and time domain variables 
     17   USE oce_trc 
     18   USE trp_trc 
    1519   USE trc 
     20   USE trdmld_trc_oce, ONLY : luttrd 
    1621   USE iom 
    1722#if defined key_off_tra 
     
    3540CONTAINS 
    3641 
    37    SUBROUTINE trc_wri( kt )   
     42   SUBROUTINE trc_wri( kt ) 
    3843      !!--------------------------------------------------------------------- 
    3944      !!                     ***  ROUTINE trc_wri  *** 
     45      !!  
     46      !! ** Purpose :   output passive tracers fields and dynamical trends 
     47      !!--------------------------------------------------------------------- 
     48      INTEGER, INTENT( in ) :: kt 
     49      !!--------------------------------------------------------------------- 
     50 
     51      ! 
     52      CALL iom_setkt  ( kt + ndttrc - 1 )       ! set the passive tracer time step 
     53      CALL trc_wri_trc( kt              )       ! outputs for tracer concentration 
     54      CALL trc_wri_trd( kt              )       ! outputs for dynamical trends 
     55      CALL iom_setkt  ( kt              )       ! set the model time step 
     56      ! 
     57   END SUBROUTINE trc_wri 
     58 
     59   SUBROUTINE trc_wri_trc( kt )   
     60      !!--------------------------------------------------------------------- 
     61      !!                     ***  ROUTINE trc_wri_trc  *** 
    4062      !! 
    4163      !! ** Purpose :   output passive tracers fields  
     
    4365      INTEGER, INTENT( in ) :: kt       ! ocean time-step 
    4466      INTEGER               :: jn 
    45       CHARACTER (len=20)    :: cltra 
     67      CHARACTER (len=20)    :: cltra, cltras 
    4668#if defined key_off_tra 
    4769      CHARACTER (len=40) :: clhstnam 
    4870      INTEGER ::   inum = 11            ! temporary logical unit 
    4971#endif 
    50  
    5172      !!--------------------------------------------------------------------- 
    5273  
    53       ! Initialisation 
    54       ! -------------- 
    55  
    56       CALL iom_setkt( kt + ndttrc - 1 ) ! set the passive tracer time step 
    57  
    5874#if defined key_off_tra 
    5975      IF( kt == nittrc000 ) THEN 
     
    6783      ENDIF 
    6884#endif 
    69  
    70  
    7185      ! write the tracer concentrations in the file 
    7286      ! --------------------------------------- 
     
    7690      END DO 
    7791      ! 
    78       CALL iom_setkt( kt )       ! set the model time step 
     92   END SUBROUTINE trc_wri_trc 
    7993 
     94# if defined key_trc_diatrd 
     95 
     96   SUBROUTINE trc_wri_trd( kt ) 
     97      !!---------------------------------------------------------------------- 
     98      !!                     ***  ROUTINE trc_wri_trd  *** 
     99      !! 
     100      !! ** Purpose :   output of passive tracer : advection-diffusion trends 
     101      !! 
     102      !!---------------------------------------------------------------------- 
     103      INTEGER, INTENT( in ) ::   kt          ! ocean time-step 
     104      !! 
     105      CHARACTER (len=3) ::   cltra 
     106      INTEGER  ::   jn, jl, ikn 
     107      !!---------------------------------------------------------------------- 
     108 
     109      DO jn = 1, jptra 
     110         IF( luttrd(jn) ) THEN 
     111            ikn = ikeep(jn) 
     112            DO jl = 1, jpdiatrc 
     113               IF( jl == jptrc_xad ) WRITE (cltra,"(3a)") 'XAD' ! x advection for tracer 
     114               IF( jl == jptrc_yad ) WRITE (cltra,"(3a)") 'YAD'  ! y advection for tracer 
     115               IF( jl == jptrc_zad ) WRITE (cltra,"(3a)") 'ZAD'  ! z advection for tracer 
     116               IF( jl == jptrc_xdf ) WRITE (cltra,"(3a)") 'XDF'  ! x diffusion for tracer 
     117               IF( jl == jptrc_ydf ) WRITE (cltra,"(3a)") 'YDF'  ! y diffusion for tracer 
     118               IF( jl == jptrc_zdf ) WRITE (cltra,"(3a)") 'ZDF'  ! z diffusion for tracer 
     119# if defined key_trcldf_eiv 
     120               IF( jl == jptrc_xei ) WRITE (cltra,"(3a)") 'XGV'  ! x gent velocity for tracer 
     121               IF( jl == jptrc_yei ) WRITE (cltra,"(3a)") 'YGV'  ! y gent velocity for tracer 
     122               IF( jl == jptrc_zei ) WRITE (cltra,"(3a)") 'ZGV'  ! z gent velocity for tracer 
     123# endif 
     124# if defined key_trcdmp 
     125               IF( jl == jptrc_dmp ) WRITE (cltra,"(3a)") 'DMP'  ! damping 
     126# endif 
     127               IF( jl == jptrc_sbc ) WRITE (cltra,"(3a)") 'SBC'  ! surface boundary conditions 
     128               ! write the trends 
     129               CALL iom_put( cltra, trtrd(:,:,:,ikn,jl) ) 
     130            END DO 
     131         END IF 
     132      END DO 
    80133      ! 
    81    END SUBROUTINE trc_wri 
     134   END SUBROUTINE trc_wri_trd 
    82135 
     136# else 
     137   SUBROUTINE trc_wri_trd( kt )                      ! Dummy routine 
     138      INTEGER, INTENT ( in ) ::   kt 
     139   END SUBROUTINE trc_wri_trd 
     140#endif 
    83141#else 
    84142   !!---------------------------------------------------------------------- 
     
    90148   INTEGER, INTENT(in) :: kt 
    91149   END SUBROUTINE trc_wri 
    92  
    93150#endif 
    94151 
Note: See TracChangeset for help on using the changeset viewer.