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 1250 – NEMO

Changeset 1250


Ignore:
Timestamp:
2009-01-13T10:41:45+01:00 (15 years ago)
Author:
cetlod
Message:

update modules of sediment model to take into account minor modifications, see ticket:297

Location:
trunk/NEMO/TOP_SRC/SED
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/TOP_SRC/SED/par_sed.F90

    r1179 r1250  
    1919#if ! defined key_sed_off 
    2020   USE par_pisces 
     21#endif 
     22 
    2123#if defined key_kriest 
    2224   INTEGER, PARAMETER :: jpdta = 11 
     
    2426   INTEGER, PARAMETER :: jpdta = 12 
    2527#endif 
    26 #endif 
     28 
    2729 
    2830   ! Vertical sediment geometry 
     
    5658 
    5759   INTEGER, PARAMETER ::  & 
    58       jptrased = 14 , & 
    59       jpflxsed = 7 
     60      jptrased   = jpsol + jpwat , & 
     61      jpdia3dsed = 3          , & 
     62      jpdia2dsed = 7 
    6063#endif 
    6164END MODULE par_sed 
  • trunk/NEMO/TOP_SRC/SED/sed.F90

    r1179 r1250  
    5454      borat  
    5555 
     56#endif    
     57 
    5658   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpdta) :: & 
    5759      trc_data           !: tracer data to share with sediment model 
    58 #endif    
    5960 
    6061   INTEGER, PUBLIC :: & 
     
    186187   !! Inputs / Outputs 
    187188   CHARACTER( len = 80 ), DIMENSION(jptrased) :: & 
    188       sedtrc3l  
    189  
     189      sedtrcl 
    190190   CHARACTER( len = 20 ), DIMENSION(jptrased) :: & 
    191       sedtrc3d , sedtrc3u 
    192  
    193    CHARACTER( len = 80 ), DIMENSION(jpflxsed) :: & 
    194       sedtrc2l  
    195  
    196    CHARACTER( len = 20 ), DIMENSION(jpflxsed) :: & 
    197       sedtrc2d , sedtrc2u 
    198  
     191      sedtrcd , sedtrcu 
     192 
     193   CHARACTER( len = 80 ), DIMENSION(jpdia3dsed) :: & 
     194      seddia3l  
     195   CHARACTER( len = 20 ), DIMENSION(jpdia3dsed) :: & 
     196      seddia3d , seddia3u 
     197 
     198   CHARACTER( len = 80 ), DIMENSION(jpdia2dsed) :: & 
     199      seddia2l  
     200   CHARACTER( len = 20 ), DIMENSION(jpdia2dsed) :: & 
     201      seddia2d , seddia2u 
    199202 
    200203   REAL(wp), DIMENSION(jpi,jpj,jpksed,jptrased) :: & 
    201204      trcsedi 
    202  
    203    REAL(wp), DIMENSION(jpi,jpj,jpflxsed) :: & 
    204       flxsedi 
     205   REAL(wp), DIMENSION(jpi,jpj,jpksed,jpdia3dsed) :: & 
     206      flxsedi3d 
     207   REAL(wp), DIMENSION(jpi,jpj,jpdia2dsed) :: & 
     208      flxsedi2d 
    205209 
    206210   !! Units 
  • trunk/NEMO/TOP_SRC/SED/sedarr.F90

    r1179 r1250  
    116116   END SUBROUTINE unpack_arr_2d_3d 
    117117 
     118#else 
     119   !!====================================================================== 
     120   !! MODULE sedarr  :   Dummy module 
     121   !!====================================================================== 
     122CONTAINS 
     123   SUBROUTINE pack_arr         ! Empty routine 
     124   END SUBROUTINE  pack_arr 
     125   SUBROUTINE unpack_arr         ! Empty routine 
     126   END SUBROUTINE  unpack_arr 
     127   !!====================================================================== 
    118128#endif 
    119129END MODULE sedarr 
  • trunk/NEMO/TOP_SRC/SED/sedchem.F90

    r1179 r1250  
    319319 
    320320         calcon2(ji) = 0.01028 * ( salt(ji) / 35. ) * densSW(ji) 
     321      ENDDO 
    321322#endif 
    322       ENDDO 
    323323 
    324324   END SUBROUTINE sed_chem 
     
    336336      !!        !  06-04  (C. Ethe)  Re-organization  
    337337      !!----------------------------------------------------------------------   
    338       !!* Arguments 
    339       INTEGER, INTENT(in) ::  & 
    340          kt                     ! time step 
    341  
    342338      !! * Local declarations 
    343339      INTEGER :: & 
  • trunk/NEMO/TOP_SRC/SED/seddsr.F90

    r1179 r1250  
    546546   SUBROUTINE sed_dsr ( kt ) 
    547547     INTEGER, INTENT(in) :: kt 
     548     WRITE(*,*) 'sed_dsr: You should not have seen this print! error?', kt 
    548549  END SUBROUTINE sed_dsr 
    549550#endif 
  • trunk/NEMO/TOP_SRC/SED/seddta.F90

    r1179 r1250  
    2626 
    2727   INTEGER ::     & 
    28      numbio = 37, & 
    29      numoce = 47 
     28     numbio  
     29 
     30#if defined key_sed_off 
     31   INTEGER ::     & 
     32     numoce 
     33#endif 
    3034 
    3135CONTAINS 
     
    7882         WRITE(numsed,*) ' sed_dta : Sediment fields' 
    7983         CALL iom_open ( 'data_bio_bot'     , numbio ) 
     84#if defined key_sed_off 
     85         CALL iom_open( 'data_oce_bot', numoce) 
     86#endif 
    8087         rsecday = 60.* 60. * 24. 
    8188         conv1   = 1.0e+2 / rsecday  
     
    133140                  trc_data(ji,jj,11) = sn      (ji,jj,ikt)        
    134141#   endif 
    135  
    136 #else 
    137                   CALL iom_get( numbio, jpdom_data, 'ALKBOT'     , trc_data(:,:,1 ) ) 
    138                   CALL iom_get( numbio, jpdom_data, 'DICBOT'     , trc_data(:,:,2 ) ) 
    139                   CALL iom_get( numbio, jpdom_data, 'NO3BOT'     , trc_data(:,:,3 ) ) 
    140                   CALL iom_get( numbio, jpdom_data, 'PO4BOT'     , trc_data(:,:,4 ) ) 
    141                   CALL iom_get( numbio, jpdom_data, 'O2BOT'      , trc_data(:,:,5 ) ) 
    142                   CALL iom_get( numbio, jpdom_data, 'SIBOT'      , trc_data(:,:,6 ) ) 
    143 #   if ! defined key_kriest 
    144                   CALL iom_get( numbio, jpdom_data, 'OPALFLXBOT' , trc_data(:,:,7 ) )  
    145                   CALL iom_get( numbio, jpdom_data, 'POCFLXBOT'  , trc_data(:,:,8 ) )  
    146                   CALL iom_get( numbio, jpdom_data, 'GOCFLXBOT'  , trc_data(:,:,9 ) )  
    147                   CALL iom_get( numbio, jpdom_data, 'CACO3FLXBOT', trc_data(:,:,10) )  
    148                   CALL iom_get( numoce, jpdom_data, 'TBOT'       , trc_data(:,:,11) )  
    149                   CALL iom_get( numoce, jpdom_data, 'SBOT'       , trc_data(:,:,12) )  
    150 #   else 
    151                   CALL iom_get( numbio, jpdom_data, 'OPALFLXBOT' , trc_data(:,:,7 ) )  
    152                   CALL iom_get( numbio, jpdom_data, 'POCFLXBOT'  , trc_data(:,:,8 ) )  
    153                   CALL iom_get( numbio, jpdom_data, 'CACO3FLXBOT', trc_data(:,:,9 ) )  
    154                   CALL iom_get( numoce, jpdom_data, 'TBOT'       , trc_data(:,:,10) )  
    155                   CALL iom_get( numoce, jpdom_data, 'SBOT'       , trc_data(:,:,11) )  
    156 #   endif 
    157 #endif 
    158  
    159142               ENDIF 
    160143            ENDDO 
    161144         ENDDO 
    162           
    163   
     145 
     146#else 
     147         CALL iom_get( numbio, jpdom_data, 'ALKBOT'     , trc_data(:,:,1 ) ) 
     148         CALL iom_get( numbio, jpdom_data, 'DICBOT'     , trc_data(:,:,2 ) ) 
     149         CALL iom_get( numbio, jpdom_data, 'NO3BOT'     , trc_data(:,:,3 ) ) 
     150         CALL iom_get( numbio, jpdom_data, 'PO4BOT'     , trc_data(:,:,4 ) ) 
     151         CALL iom_get( numbio, jpdom_data, 'O2BOT'      , trc_data(:,:,5 ) ) 
     152         CALL iom_get( numbio, jpdom_data, 'SIBOT'      , trc_data(:,:,6 ) ) 
     153#   if ! defined key_kriest 
     154         CALL iom_get( numbio, jpdom_data, 'OPALFLXBOT' , trc_data(:,:,7 ) )  
     155         CALL iom_get( numbio, jpdom_data, 'POCFLXBOT'  , trc_data(:,:,8 ) )  
     156         CALL iom_get( numbio, jpdom_data, 'GOCFLXBOT'  , trc_data(:,:,9 ) )  
     157         CALL iom_get( numbio, jpdom_data, 'CACO3FLXBOT', trc_data(:,:,10) )  
     158         CALL iom_get( numoce, jpdom_data, 'TBOT'       , trc_data(:,:,11) )  
     159         CALL iom_get( numoce, jpdom_data, 'SBOT'       , trc_data(:,:,12) )  
     160#   else 
     161         CALL iom_get( numbio, jpdom_data, 'OPALFLXBOT' , trc_data(:,:,7 ) )  
     162         CALL iom_get( numbio, jpdom_data, 'POCFLXBOT'  , trc_data(:,:,8 ) )  
     163         CALL iom_get( numbio, jpdom_data, 'CACO3FLXBOT', trc_data(:,:,9 ) )  
     164         CALL iom_get( numoce, jpdom_data, 'TBOT'       , trc_data(:,:,10) )  
     165         CALL iom_get( numoce, jpdom_data, 'SBOT'       , trc_data(:,:,11) )  
     166#   endif 
     167#endif 
     168 
    164169         ! Pore water initial concentration [mol/l] in  k=1 
    165170         !------------------------------------------------- 
     
    256261      IF( kt == nitsedend )   THEN 
    257262         CALL iom_close ( numbio ) 
     263#if defined key_sed_off 
    258264         CALL iom_close ( numoce ) 
     265#endif 
    259266      ENDIF 
    260267       
  • trunk/NEMO/TOP_SRC/SED/sedini.F90

    r1188 r1250  
    7676      !!---------------------------------------------------------------------- 
    7777      INTEGER :: ji, jj, ikt 
     78      CHARACTER (len=28) :: csedname  
    7879#if defined key_sed_off 
    79       INTEGER  :: numblt  = 32         
    80       INTEGER  :: nummsh  = 42  
     80      INTEGER  :: numblt          
     81      INTEGER  :: nummsh   
    8182      REAL(wp) , DIMENSION(jpi,jpj) :: zdta 
    8283#endif 
     
    8788      !--------------------------------------- 
    8889 
    89       OPEN( UNIT = numsed, FILE = 'sediment.output', FORM = 'FORMATTED' )  
     90      csedname = 'sediment.output' 
     91      CALL ctlopn( numsed, csedname, 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 
    9092 
    9193      WRITE(numsed,*) 
     
    403405         numnamsed = 28 
    404406 
     407      TYPE PSED 
     408         CHARACTER(len = 20)  :: snamesed   !: short name 
     409         CHARACTER(len = 80 ) :: lnamesed   !: long name 
     410         CHARACTER(len = 20 ) :: unitsed    !: unit 
     411      END TYPE PSED 
     412 
     413      TYPE(PSED) , DIMENSION(jpsol     ) :: sedsol 
     414      TYPE(PSED) , DIMENSION(jpwat     ) :: sedwat 
     415      TYPE(PSED) , DIMENSION(jpdia3dsed) :: seddiag3d 
     416      TYPE(PSED) , DIMENSION(jpdia2dsed) :: seddiag2d 
    405417 
    406418      NAMELIST/nam_time/nfreq 
    407       NAMELIST/nam_dia3d/sedtrc3d,sedtrc3l,sedtrc3u 
    408       NAMELIST/nam_dia2d/sedtrc2d,sedtrc2l,sedtrc2u 
     419      NAMELIST/nam_trased/sedsol, sedwat 
     420      NAMELIST/nam_diased/seddiag3d, seddiag2d 
    409421      NAMELIST/nam_reac/sisat, claysat, rcopal, rcclay, dcoef  
    410422      NAMELIST/nam_poc/redO2, redNo3, redPo4, redC, redDnit, & 
     
    415427      NAMELIST/nam_rst/ln_rst_sed 
    416428 
    417       INTEGER :: jn 
     429      INTEGER :: jn, jn1 
    418430 
    419431      !------------------------------------------------------- 
     
    458470      WRITE(numsed,*) ' ' 
    459471 
    460       READ( numnamsed, nam_dia3d ) 
    461       WRITE(numsed,*) ' namelist nam_dia3d' 
     472      REWIND( numnamsed )               ! read nattrc 
     473      READ  ( numnamsed, nam_trased ) 
     474 
     475      DO jn = 1, jpsol 
     476         sedtrcd(jn) = sedsol(jn)%snamesed 
     477         sedtrcl(jn) = sedsol(jn)%lnamesed 
     478         sedtrcu(jn) = sedsol(jn)%unitsed 
     479      END DO 
     480 
     481      DO jn = 1, jpwat 
     482         jn1 = jn + jpsol 
     483         sedtrcd(jn1) = sedwat(jn)%snamesed 
     484         sedtrcl(jn1) = sedwat(jn)%lnamesed 
     485         sedtrcu(jn1) = sedwat(jn)%unitsed 
     486      END DO 
     487 
     488      WRITE(numsed,*) ' namelist nam_trased' 
     489      WRITE(numsed,*) ' ' 
    462490      DO jn = 1, jptrased 
    463          WRITE(numsed,*) 'name of 3d output sediment field number :',jn,' : ',sedtrc3d(jn) 
    464          WRITE(numsed,*)  sedtrc3l(jn) 
    465          WRITE(numsed,*) ' in unit = ', sedtrc3u(jn) 
     491         WRITE(numsed,*) 'name of 3d output sediment field number :',jn,' : ',TRIM(sedtrcd(jn)) 
     492         WRITE(numsed,*) 'long name ', TRIM(sedtrcl(jn)) 
     493         WRITE(numsed,*) ' in unit = ', TRIM(sedtrcu(jn)) 
     494         WRITE(numsed,*) ' ' 
    466495      END DO 
    467496      WRITE(numsed,*) ' ' 
    468497 
    469498       
    470       READ( numnamsed, nam_dia2d ) 
    471       WRITE(numsed,*) ' namelist nam_dia2d' 
    472       DO jn = 1, jpflxsed 
    473          WRITE(numsed,*) 'name of 2d output sediment field number :',jn,' : ',sedtrc2d(jn) 
    474          WRITE(numsed,*) sedtrc2l(jn) 
    475          WRITE(numsed,*) ' in unit = ',sedtrc2u(jn) 
     499      REWIND( numnamsed ) 
     500      READ( numnamsed, nam_diased ) 
     501 
     502      DO jn = 1, jpdia3dsed 
     503         seddia3d(jn) = seddiag3d(jn)%snamesed 
     504         seddia3l(jn) = seddiag3d(jn)%lnamesed 
     505         seddia3u(jn) = seddiag3d(jn)%unitsed 
    476506      END DO 
     507 
     508      DO jn = 1, jpdia2dsed 
     509         seddia2d(jn) = seddiag2d(jn)%snamesed 
     510         seddia2l(jn) = seddiag2d(jn)%lnamesed 
     511         seddia2u(jn) = seddiag2d(jn)%unitsed 
     512      END DO 
     513 
     514      WRITE(numsed,*) ' namelist nam_diased' 
     515      WRITE(numsed,*) ' ' 
     516      DO jn = 1, jpdia3dsed 
     517         WRITE(numsed,*) 'name of 3D output diag number :',jn, ' : ', TRIM(seddia3d(jn)) 
     518         WRITE(numsed,*) 'long name ', TRIM(seddia3l(jn)) 
     519         WRITE(numsed,*) ' in unit = ',TRIM(seddia3u(jn)) 
     520         WRITE(numsed,*) ' ' 
     521      END DO 
     522 
     523      DO jn = 1, jpdia2dsed 
     524         WRITE(numsed,*) 'name of 2D output diag number :',jn, ' : ', TRIM(seddia2d(jn)) 
     525         WRITE(numsed,*) 'long name ', TRIM(seddia2l(jn)) 
     526         WRITE(numsed,*) ' in unit = ',TRIM(seddia2u(jn)) 
     527         WRITE(numsed,*) ' ' 
     528      END DO 
     529 
    477530      WRITE(numsed,*) ' ' 
    478531 
     
    480533      ! Diffraction/reaction parameters 
    481534      !---------------------------------- 
     535      REWIND( numnamsed ) 
    482536      READ( numnamsed, nam_reac ) 
    483537      WRITE(numsed,*) ' namelist nam_reac' 
     
    502556      ! Additional parameter linked to POC/O2/No3/Po4 
    503557      !---------------------------------------------- 
     558      REWIND( numnamsed ) 
    504559      READ( numnamsed, nam_poc ) 
    505560      WRITE(numsed,*) ' namelist nam_poc' 
     
    667722      WRITE(numsed,*)'(1=silicic acid,2="dissolved" clay,3=O2,4=DIC,5=Nitrate,& 
    668723         &6=Phosphates,7=Alk))' 
    669       WRITE(numsed,*)'Psat (µmol/l) for silicic Acid and "dissolved" clay' 
    670       WRITE(numsed,'(2(F0.2,3X))') sat_sil, sat_clay 
     724      WRITE(numsed,*)'Psat (umol/l) for silicic Acid and "dissolved" clay' 
     725      WRITE(numsed,'(2(F0.2,3X))') sat_sil * 1e+6,  sat_clay * 1e+6 
    671726      WRITE(numsed,*)'reaction rate rc for Op/si,Clay,POC/O2,caco3, POC/No3 (an-1)' 
    672       WRITE(numsed,'(5(F0.2,3X))') reac_sil, reac_clay, reac_poc, reac_cal, reac_no3  
     727      WRITE(numsed,'(5(F0.2,3X))') reac_sil * ryear, reac_clay * ryear, reac_poc * ryear, & 
     728                                   reac_cal * ryear, reac_no3 * ryear 
    673729      WRITE(numsed,*)'redfield coef C,O,N P Dit ' 
    674730      WRITE(numsed,'(5(F0.2,3X))')1./spo4r,so2ut/spo4r,srno3/spo4r,spo4r/spo4r,srDnit/spo4r 
     
    800856CONTAINS 
    801857   SUBROUTINE sed_ini              ! Empty routine 
    802  
    803858   END SUBROUTINE sed_ini 
    804859#endif 
  • trunk/NEMO/TOP_SRC/SED/sedmat.F90

    r1179 r1250  
    265265   !! MODULE sedmat  :   Dummy module  
    266266   !!====================================================================== 
     267CONTAINS 
     268   SUBROUTINE sed_mat         ! Empty routine 
     269   END SUBROUTINE sed_mat 
     270   !!====================================================================== 
    267271#endif 
    268272 
  • trunk/NEMO/TOP_SRC/SED/sedmbc.F90

    r1179 r1250  
    7272 
    7373      REAL(wp) ::  & 
    74          zdsw 
     74         zdsw, zvol 
    7575 
    7676      REAL, DIMENSION(jpsol) ::  & 
     
    132132         DO ji = 1, jpoce 
    133133            ! input [mol] 
    134             diss_in_tot (jw) = diss_in_tot (jw) + pwcp_dta(ji,jw) & 
    135                &                                * 1.e-3 * dzkbot(ji) 
     134            diss_in_tot (jw) = diss_in_tot (jw) + pwcp_dta(ji,jw) * 1.e-3 * dzkbot(ji) 
    136135            ! output [mol] 
    137136            diss_out_tot(jw) = diss_out_tot(jw) + tokbot(ji,jw) 
     
    160159            DO jk = 2, jpksed 
    161160               DO ji = 1, jpoce 
    162                   zsolcp_inv_i(js) = zsolcp_inv_i(js) + solcp0(ji,jk,js) * vols3d(ji,jk) * zdsw  
    163                   zsolcp_inv_f(js) = zsolcp_inv_f(js) + solcp (ji,jk,js) * vols3d(ji,jk) * zdsw 
     161                  zvol = vols3d(ji,jk) * zdsw 
     162                  zsolcp_inv_i(js) = zsolcp_inv_i(js) + solcp0(ji,jk,js) * zvol  
     163                  zsolcp_inv_f(js) = zsolcp_inv_f(js) + solcp (ji,jk,js) * zvol 
    164164               ENDDO 
    165165            END DO 
     
    170170            DO jk = 2, jpksed 
    171171               DO ji = 1, jpoce  
    172                   zpwcp_inv_i(jw) = zpwcp_inv_i(jw) + pwcp0(ji,jk,jw) *  volw3d(ji,jk) * 1.e-3 
    173                   zpwcp_inv_f(jw) = zpwcp_inv_f(jw) + pwcp (ji,jk,jw) *  volw3d(ji,jk) * 1.e-3 
     172                  zvol = volw3d(ji,jk) * 1.e-3 
     173                  zpwcp_inv_i(jw) = zpwcp_inv_i(jw) + pwcp0(ji,jk,jw) * zvol 
     174                  zpwcp_inv_f(jw) = zpwcp_inv_f(jw) + pwcp (ji,jk,jw) * zvol 
    174175               ENDDO 
    175176            END DO 
     
    223224 
    224225         ! mass balance for DIC13 
    225          zinit      = src13p * zsolcp_inv_i(jspoc) + src13Ca * zsolcp_inv_i(jscal) & 
    226             &       + zpwcp_inv_i  (jwc13) 
    227          zfinal     = src13p * zsolcp_inv_f(jspoc) + src13Ca * zsolcp_inv_f(jscal) & 
    228             &       + zpwcp_inv_f  (jwc13) 
    229          zinput     = src13p * rain_tot   (jspoc) + src13Ca * rain_tot   (jscal) & 
    230             &       + diss_in_tot (jwc13)  
    231          zoutput    = src13p * tosed_tot  (jspoc) + src13Ca * tosed_tot  (jscal) & 
    232             &       + diss_out_tot(jwc13) & 
    233             &       + src13p * rloss_tot  (jspoc) + src13Ca * rloss_tot  (jscal) 
     226         zinit      =  zpwcp_inv_i(jwc13)  & 
     227            &        + src13p * zsolcp_inv_i(jspoc) + src13Ca * zsolcp_inv_i(jscal)  
     228         zfinal     =  zpwcp_inv_f(jwc13)  & 
     229            &        + src13p * zsolcp_inv_f(jspoc) + src13Ca * zsolcp_inv_f(jscal) 
     230         zinput     =  diss_in_tot (jwc13) & 
     231            &        + src13p * rain_tot(jspoc) + src13Ca * rain_tot(jscal) 
     232         zoutput    =  diss_out_tot(jwc13) & 
     233            &        + src13p * tosed_tot(jspoc) + src13Ca * tosed_tot(jscal) &    
     234            &        + src13p * rloss_tot(jspoc) + src13Ca * rloss_tot(jscal) 
    234235         zdelta_c13 = ( zfinal + zoutput ) - ( zinit + zinput ) 
    235236 
     
    331332      WRITE(*,*) 'sed_mbc: You should not have seen this print! error?', kt 
    332333   END SUBROUTINE sed_mbc 
    333  
    334    !!====================================================================== 
    335  
    336334#endif 
    337335END MODULE sedmbc 
  • trunk/NEMO/TOP_SRC/SED/sedmodel.F90

    r1179 r1250  
    5757      WRITE(*,*) 'sed_stp: You should not have seen this print! error?', kt 
    5858   END SUBROUTINE sed_model 
    59  
    60    !!====================================================================== 
    6159#endif 
    6260 
  • trunk/NEMO/TOP_SRC/SED/sedrst.F90

    r1179 r1250  
    1919   !! * Accessibility 
    2020   PUBLIC sed_rst_read 
    21    PUBLIC sed_rst_write 
     21   PUBLIC sed_rst_wri 
    2222 
    2323   !! * Module variables 
     
    4848         zdta 
    4949 
     50      REAL(wp), DIMENSION(jpi,jpj,jpksed,2) :: & 
     51         zdta1 
     52 
    5053      REAL(wp), DIMENSION(:,:), ALLOCATABLE :: & 
    5154         zhipor 
     
    6568      CALL iom_get( numrsr, 'kt'     , zkt      )   ! time-step 
    6669  
    67       DO jn = 1, jptrased - 1 
    68          cltra = sedtrc3d(jn) 
     70      DO jn = 1, jptrased 
     71         cltra = sedtrcd(jn) 
    6972         CALL iom_get( numrsr, jpdom_unknown, cltra, zdta(:,:,:,jn), & 
    7073            &          kstart=(/1,1,1/), kcount=(/jpi,jpj,jpksed/) ) 
     
    107110         &             zdta(1:jpi,1:jpj,1:jpksed,11), iarroce(1:jpoce) ) 
    108111 
     112      DO jn = 1, 2 
     113         cltra = seddia3d(jn) 
     114         CALL iom_get( numrsr, jpdom_unknown, cltra, zdta1(:,:,:,jn), & 
     115            &          kstart=(/1,1,1/), kcount=(/jpi,jpj,jpksed/) ) 
     116      ENDDO 
     117 
    109118      zhipor(:,:) = 0. 
    110119      CALL pack_arr( jpoce, zhipor(1:jpoce,1:jpksed), & 
    111          &             zdta(1:jpi,1:jpj,1:jpksed,12), iarroce(1:jpoce) ) 
     120         &             zdta1(1:jpi,1:jpj,1:jpksed,1), iarroce(1:jpoce) ) 
    112121 
    113122      ! Initialization of [h+] in mol/kg 
     
    119128       
    120129      CALL pack_arr( jpoce, co3por(1:jpoce,1:jpksed), & 
    121          &             zdta(1:jpi,1:jpj,1:jpksed,13), iarroce(1:jpoce) ) 
     130         &             zdta1(1:jpi,1:jpj,1:jpksed,2), iarroce(1:jpoce) ) 
    122131 
    123132      ! Initialization of sediment composant only ie jk=2 to jk=jpksed  
     
    130139   END SUBROUTINE sed_rst_read 
    131140 
    132  
    133    SUBROUTINE sed_rst_write( kt ) 
    134       !!---------------------------------------------------------------------- 
    135       !!                   ***  ROUTINE sed_rst_write  *** 
     141   SUBROUTINE sed_rst_wri( kt ) 
     142      !!---------------------------------------------------------------------- 
     143      !!                   ***  ROUTINE sed_rst_wri  *** 
    136144      !! 
    137145      !! ** Purpose :  save field which are necessary for sediment restart 
     
    183191            IF( cexper(jc:jc) /= ' ') ic = jc 
    184192         END DO 
    185          WRITE( cln,'("_",i4.4,i2.2,i2.2,"_restart.sed")') nyear, nmonth, nday 
     193         WRITE( cln,'("_",i5.5,i2.2,i2.2,"_restart.sed")') nyear, nmonth, nday 
    186194         clname = cexper(1:ic)//cln 
    187195         itime = 0 
     
    235243            ENDDO 
    236244         ENDDO 
    237          CALL unpack_arr( jpoce, trcsedi(1:jpi,1:jpj,1:jpksed,12)  , iarroce(1:jpoce), & 
     245         CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,1)  , iarroce(1:jpoce), & 
    238246            &                   zdta(1:jpoce,1:jpksed)  ) 
    239247          
    240          CALL unpack_arr( jpoce, trcsedi(1:jpi,1:jpj,1:jpksed,13)  , iarroce(1:jpoce), & 
     248         CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,2)  , iarroce(1:jpoce), & 
    241249            &                   co3por(1:jpoce,1:jpksed)  ) 
    242250       
     
    245253 
    246254 
    247          DO jn = 1, jptrased - 1 
    248             cltra = sedtrc3d(jn) 
     255         DO jn = 1, jptrased 
     256            cltra = sedtrcd(jn) 
    249257            CALL restput( numrsw, cltra, jpi, jpj, jpksed, 0, trcsedi(:,:,:,jn) ) 
    250258         ENDDO 
    251259 
     260         DO jn = 1, 2 
     261            cltra = seddia3d(jn) 
     262            CALL restput( numrsw, cltra, jpi, jpj, jpksed, 0, flxsedi3d(:,:,:,jn) ) 
     263         ENDDO 
     264 
     265 
    252266         CALL restclo( numrsw ) 
    253267 
     
    256270      DEALLOCATE( zdta )   
    257271          
    258    END SUBROUTINE sed_rst_write 
     272   END SUBROUTINE sed_rst_wri 
    259273#else 
    260274   !!====================================================================== 
    261275   !! MODULE sedrst :   Dummy module  
    262276   !!====================================================================== 
    263  
     277CONTAINS 
     278   SUBROUTINE sed_rst_read                      ! Empty routines 
     279   END SUBROUTINE sed_rst_read 
     280   SUBROUTINE sed_rst_wri( kt ) 
     281      INTEGER, INTENT ( in ) :: kt 
     282      WRITE(*,*) 'sed_rst_wri: You should not have seen this print! error?', kt 
     283   END SUBROUTINE sed_rst_wri    
    264284#endif 
    265285 
  • trunk/NEMO/TOP_SRC/SED/sedsfc.F90

    r1179 r1250  
    7373   SUBROUTINE sed_sfc ( kt ) 
    7474      INTEGER, INTENT(in) :: kt 
     75      WRITE(*,*) 'sed_sfc: You should not have seen this print! error?', kt 
    7576   END SUBROUTINE sed_sfc 
    7677#endif 
  • trunk/NEMO/TOP_SRC/SED/sedstp.F90

    r1179 r1250  
    5353 
    5454      IF ( ( MOD( kt, nwrised ) == 0 ) .OR. ( MOD( kt, nstock ) == 0 ) .OR. ( kt == nitsedend )  )   & 
    55       CALL sed_co3( kt )      ! pH actualization for saving 
     55      CALL sed_co3( kt )         ! pH actualization for saving 
    5656      CALL sed_mbc( kt )         ! cumulation for mass balance calculation 
    5757#if ! defined key_sed_off 
     
    7474      WRITE(*,*) 'sed_stp: You should not have seen this print! error?', kt 
    7575   END SUBROUTINE sed_stp 
    76  
    77    !!====================================================================== 
    7876#endif 
    7977 
  • trunk/NEMO/TOP_SRC/SED/sedwri.F90

    r1179 r1250  
    129129         ENDDO 
    130130      ENDDO 
    131       CALL unpack_arr( jpoce, trcsedi(1:jpi,1:jpj,1:jpksed,12)  , iarroce(1:jpoce), & 
     131      CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,1)  , iarroce(1:jpoce), & 
    132132         &                   zdta(1:jpoce,1:jpksed)  ) 
    133133       
    134       CALL unpack_arr( jpoce, trcsedi(1:jpi,1:jpj,1:jpksed,13)  , iarroce(1:jpoce), & 
     134      CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,2)  , iarroce(1:jpoce), & 
    135135         &                   co3por(1:jpoce,1:jpksed)  ) 
    136136       
     
    144144         ENDDO 
    145145      ENDDO 
    146       CALL unpack_arr( jpoce, trcsedi(1:jpi,1:jpj,1:jpksed,14)  , iarroce(1:jpoce), & 
     146      CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,3)  , iarroce(1:jpoce), & 
    147147         &                   zdta(1:jpoce,1:jpksed)  ) 
    148148       
     
    164164      ENDDO 
    165165 
    166       CALL unpack_arr( jpoce, flxsedi(1:jpi,1:jpj,1), iarroce(1:jpoce), zflx(1:jpoce,1)  ) 
    167       CALL unpack_arr( jpoce, flxsedi(1:jpi,1:jpj,2), iarroce(1:jpoce), zflx(1:jpoce,2)  ) 
    168       CALL unpack_arr( jpoce, flxsedi(1:jpi,1:jpj,3), iarroce(1:jpoce), zflx(1:jpoce,3)  ) 
    169       CALL unpack_arr( jpoce, flxsedi(1:jpi,1:jpj,4), iarroce(1:jpoce), zflx(1:jpoce,4)  ) 
    170       CALL unpack_arr( jpoce, flxsedi(1:jpi,1:jpj,5), iarroce(1:jpoce), zflx(1:jpoce,5)  ) 
    171       CALL unpack_arr( jpoce, flxsedi(1:jpi,1:jpj,6), iarroce(1:jpoce), zflx(1:jpoce,6)  ) 
    172       CALL unpack_arr( jpoce, flxsedi(1:jpi,1:jpj,7), iarroce(1:jpoce), zflx(1:jpoce,8)  ) 
     166      CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,1), iarroce(1:jpoce), zflx(1:jpoce,1)  ) 
     167      CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,2), iarroce(1:jpoce), zflx(1:jpoce,2)  ) 
     168      CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,3), iarroce(1:jpoce), zflx(1:jpoce,3)  ) 
     169      CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,4), iarroce(1:jpoce), zflx(1:jpoce,4)  ) 
     170      CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,5), iarroce(1:jpoce), zflx(1:jpoce,5)  ) 
     171      CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,6), iarroce(1:jpoce), zflx(1:jpoce,6)  ) 
     172      CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,7), iarroce(1:jpoce), zflx(1:jpoce,8)  ) 
    173173 
    174174 
     
    191191 
    192192         DO jn = 1, jptrased 
    193             cltra  = sedtrc3d(jn)   ! short title for 3D diagnostic 
    194             cltral = sedtrc3l(jn)   ! long title for 3D diagnostic 
    195             cltrau = sedtrc3u(jn)   ! UNIT for 3D diagnostic 
     193            cltra  = sedtrcd(jn)   ! short title for sediment variable 
     194            cltral = sedtrcl(jn)   ! long title for  sediment variable 
     195            cltrau = sedtrcu(jn)   ! unit for  sediment variable 
    196196 
    197197            CALL histdef( nised, cltra,cltral,cltrau, jpi, jpj, nhorised, & 
     
    199199         ENDDO 
    200200 
     201         ! 3D diagnostic 
     202         DO jn = 1, jpdia3dsed 
     203            cltra  = seddia3d(jn)   ! short title for 3D diagnostic 
     204            cltral = seddia3l(jn)   ! long title for 3D diagnostic 
     205            cltrau = seddia3u(jn)   ! UNIT for 3D diagnostic 
     206 
     207            CALL histdef( nised, cltra,cltral,cltrau, jpi, jpj, nhorised, & 
     208               &          ipk, 1, ipk, ndepsed, 32, clop, zsto, zout  ) 
     209         ENDDO 
     210 
    201211         !Fluxes 
    202          DO jn = 1, jpflxsed 
    203             cltra  = sedtrc2d(jn)   ! short title for 3D diagnostic 
    204             cltral = sedtrc2l(jn)   ! long title for 3D diagnostic 
    205             cltrau = sedtrc2u(jn)   ! UNIT for 3D diagnostic 
     212         DO jn = 1, jpdia2dsed 
     213            cltra  = seddia2d(jn)   ! short title for 2D diagnostic 
     214            cltral = seddia2l(jn)   ! long title for 2D diagnostic 
     215            cltrau = seddia2u(jn)   ! UNIT for 2D diagnostic 
    206216             
    207217            CALL histdef( nised, cltra,cltral,cltrau, jpi, jpj, nhorised, & 
     
    221231         ! --------------------- 
    222232          DO jn = 1, jptrased 
    223              cltra = sedtrc3d(jn) ! short title for 3D diagnostic 
     233             cltra = sedtrcd(jn) ! short title for 3D diagnostic 
    224234             CALL histwrite( nised, cltra, it, trcsedi(:,:,:,jn), ndimt52, ndext52 ) 
    225235          END DO 
    226236 
    227           DO jn = 1, jpflxsed 
    228              cltra = sedtrc2d(jn) ! short title for 2D diagnostic 
    229              CALL histwrite( nised, cltra, it, flxsedi(:,:,jn  ), ndimt51, ndext51 ) 
     237          DO jn = 1, jpdia3dsed 
     238             cltra = seddia3d(jn) ! short title for 3D diagnostic 
     239             CALL histwrite( nised, cltra, it, flxsedi3d(:,:,:,jn), ndimt52, ndext52 ) 
     240          END DO 
     241 
     242          DO jn = 1, jpdia2dsed 
     243             cltra = seddia2d(jn) ! short title for 2D diagnostic 
     244             CALL histwrite( nised, cltra, it, flxsedi2d(:,:,jn  ), ndimt51, ndext51 ) 
    230245          END DO 
    231246 
     
    253268#else 
    254269   !!====================================================================== 
    255    !! MODULE sedwri :   Dummy module  
    256    !!====================================================================== 
    257  
     270   !! MODULE sedwri  :   Dummy module 
     271   !!====================================================================== 
     272CONTAINS 
     273   SUBROUTINE sed_wri( kt )         ! Empty routine 
     274      INTEGER, INTENT(in) :: kt 
     275      WRITE(*,*) 'sed_adv: You should not have seen this print! error?', kt 
     276   END SUBROUTINE sed_wri 
     277 
     278   !!====================================================================== 
    258279#endif 
    259280 
Note: See TracChangeset for help on using the changeset viewer.