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 3933 for branches/2013/dev_r3406_CNRS_LIM3 – NEMO

Ignore:
Timestamp:
2013-06-21T10:35:34+02:00 (11 years ago)
Author:
flavoni
Message:

add modified routines to have output.abort including ice, and diagnostics for production/meltin m/day and not in km3/day

Location:
branches/2013/dev_r3406_CNRS_LIM3/NEMOGCM/CONFIG/ORCA2_LIM3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_r3406_CNRS_LIM3/NEMOGCM/CONFIG/ORCA2_LIM3/EXP00/iodef.xml

    r3931 r3933  
    160160        <field id="snowthic_cea" description="Snow thickness (cell average)"                                unit="m"        /> 
    161161        <field id="icethic_cea"  description="Ice thickness (cell average)"                                 unit="m"        /> 
    162         <field id="icebopr"      description="daily bottom thermo ice prod."                                unit="km3/day"   /> 
    163         <field id="icedypr"      description="daily  dynamic ice prod."                                     unit="km3/day"   /> 
     162        <field id="icebopr"      description="daily bottom thermo ice prod."                                unit="m/day"   /> 
     163        <field id="icedypr"      description="daily  dynamic ice prod."                                     unit="m/day"   /> 
    164164   <field id="ioceflxb"     description="Oceanic flux at the ice base"                                 unit="W/m2"     /> 
    165165        <field id="uice_ipa"     description="Ice velocity along i-axis at I-point (ice presence average)"  unit="m/s"      /> 
     
    177177        <field id="micesalt"     description="Mean ice salinity"                                            unit="psu"      /> 
    178178        <field id="miceage"      description="Mean ice age"                                                 unit="years"    /> 
    179         <field id="icelapr"      description="daily lateral thermo ice prod."                               unit="km3/day"   /> 
    180         <field id="icesipr"      description="daily snowice ice prod."                                      unit="km3/day"   /> 
     179        <field id="icelapr"      description="daily lateral thermo ice prod."                               unit="m/day"   /> 
     180        <field id="icesipr"      description="daily snowice ice prod."                                      unit="m/day"   /> 
    181181        <field id="micet"        description="Mean ice temperature"                                         unit="degC"     /> 
    182182        <field id="icehc"        description="ice total heat content"                                       unit="10^9 J"   />  
     
    189189        <field id="icestr"       description="ice strength"                                                 unit="N/m"      /> 
    190190        <field id="icevel"       description="ice velocity"                                                 unit="m/s"      /> 
    191         <field id="isume"        description="surface melt"                                                 unit="km3/day"   /> 
    192         <field id="ibome"        description="bottom melt"                                                  unit="km3/day"   /> 
     191        <field id="isume"        description="surface melt"                                                 unit="m/day"   /> 
     192        <field id="ibome"        description="bottom melt"                                                  unit="m/day"   /> 
    193193        <field id="idive"        description="divergence"                                                   unit="10-8s-1"  /> 
    194194        <field id="ishear"       description="shear"                                                        unit="10-8s-1"  /> 
    195         <field id="icerepr"      description="daily resultant ice prod./melting from limupdate"             unit="km3/day"   /> 
    196         <field id="icevolu"      description="ice volume"                                                   unit="km3"      /> 
    197         <field id="snowvol"      description="snow volume"                                                  unit="km3"      /> 
     195        <field id="icerepr"      description="daily resultant ice prod./melting from limupdate"             unit="m/day"   /> 
     196        <field id="icevolu"      description="ice volume"                                                   unit="m"      /> 
     197        <field id="snowvol"      description="snow volume"                                                  unit="m"      /> 
    198198        <field id="fsrpo"        description="salt flux from ridging rafting"                               unit="psu*kg/m2/day" /> 
    199199        <field id="fsres"        description="salt flux from lipupdate (resultant)"                         unit="psu*kg/m2/day" /> 
    200         <field id="icetrp"       description="ice volume transport"                                         unit="km3/day"   /> 
     200        <field id="icetrp"       description="ice volume transport"                                         unit="m/day"   /> 
    201201 
    202202   <field id="ist_ipa"      description="Ice surface temperature (ice presence average)"               unit="degC"     /> 
  • branches/2013/dev_r3406_CNRS_LIM3/NEMOGCM/CONFIG/ORCA2_LIM3/MY_SRC/diawri.F90

    r3931 r3933  
    4646#if defined key_lim2 
    4747   USE limwri_2  
     48#elif defined key_lim3 
     49   USE limwri  
    4850#endif 
    4951   USE lib_mpp         ! MPP library 
     
    758760#if defined key_lim2 
    759761      CALL lim_wri_state_2( kt, id_i, nh_i ) 
     762#elif defined key_lim3 
     763      CALL lim_wri_state( kt, id_i, nh_i ) 
    760764#else 
    761765      CALL histend( id_i, snc4chunks=snc4set ) 
  • branches/2013/dev_r3406_CNRS_LIM3/NEMOGCM/CONFIG/ORCA2_LIM3/MY_SRC/limwri.F90

    r3931 r3933  
    1010   !!   lim_wri      : write of the diagnostics variables in ouput file  
    1111   !!   lim_wri_init : initialization and namelist read 
     12   !!   lim_wri_state : write for initial state or/and abandon 
    1213   !!---------------------------------------------------------------------- 
    1314   USE ioipsl 
     
    3233 
    3334   PUBLIC lim_wri        ! routine called by lim_step.F90 
     35   PUBLIC lim_wri_state  ! called by dia_wri_state  
    3436 
    3537   INTEGER, PARAMETER ::   jpnoumax = 43   !: maximum number of variable for ice output 
     
    227229            zcmo(ji,jj,2)  = vt_i(ji,jj) / MAX( at_i(ji,jj), epsi06 ) * zinda 
    228230            zcmo(ji,jj,3)  = vt_s(ji,jj) / MAX( at_i(ji,jj), epsi06 ) * zinda 
    229             zcmo(ji,jj,4)  = diag_bot_gr(ji,jj) * area(ji,jj) * 86400.0     ! Bottom thermodynamic ice production 
    230             zcmo(ji,jj,5)  = diag_dyn_gr(ji,jj) * area(ji,jj) * 86400.0     ! Dynamic ice production (rid/raft) 
    231             zcmo(ji,jj,22) = diag_lat_gr(ji,jj) * area(ji,jj) * 86400.0     ! Lateral thermodynamic ice production 
    232             zcmo(ji,jj,23) = diag_sni_gr(ji,jj) * area(ji,jj) * 86400.0     ! Snow ice production ice production 
     231            zcmo(ji,jj,4)  = diag_bot_gr(ji,jj) * 86400.0     ! Bottom thermodynamic ice production 
     232            zcmo(ji,jj,5)  = diag_dyn_gr(ji,jj) * 86400.0     ! Dynamic ice production (rid/raft) 
     233            zcmo(ji,jj,22) = diag_lat_gr(ji,jj) * 86400.0     ! Lateral thermodynamic ice production 
     234            zcmo(ji,jj,23) = diag_sni_gr(ji,jj) * 86400.0     ! Snow ice production ice production 
    233235            zcmo(ji,jj,24) = (tm_i(ji,jj) - rtt) * zinda 
    234236 
     
    258260            zcmo(ji,jj,32) = strength(ji,jj) 
    259261            zcmo(ji,jj,33) = SQRT(  zcmo(ji,jj,7)*zcmo(ji,jj,7) + zcmo(ji,jj,8)*zcmo(ji,jj,8)  ) 
    260             zcmo(ji,jj,34) = diag_sur_me(ji,jj) * area(ji,jj) * 86400.0     ! Surface melt 
    261             zcmo(ji,jj,35) = diag_bot_me(ji,jj) * area(ji,jj) * 86400.0     ! Bottom melt 
     262            zcmo(ji,jj,34) = diag_sur_me(ji,jj) * 86400.0     ! Surface melt 
     263            zcmo(ji,jj,35) = diag_bot_me(ji,jj) * 86400.0     ! Bottom melt 
    262264            zcmo(ji,jj,36) = divu_i(ji,jj) 
    263265            zcmo(ji,jj,37) = shear_i(ji,jj) 
    264             zcmo(ji,jj,38) = diag_res_pr(ji,jj) * area(ji,jj) * 86400.0     ! Bottom melt 
    265             zcmo(ji,jj,39) = vt_i(ji,jj)*area(ji,jj)  ! ice volume 
    266             zcmo(ji,jj,40) = vt_s(ji,jj)*area(ji,jj)  ! snow volume 
     266            zcmo(ji,jj,38) = diag_res_pr(ji,jj) * 86400.0     ! Bottom melt 
     267            zcmo(ji,jj,39) = vt_i(ji,jj)  ! ice volume 
     268            zcmo(ji,jj,40) = vt_s(ji,jj)  ! snow volume 
    267269 
    268270            zcmo(ji,jj,41) = fsalt_rpo(ji,jj) 
    269271            zcmo(ji,jj,42) = fsalt_res(ji,jj) 
    270272 
    271             zcmo(ji,jj,43) = diag_trp_vi(ji,jj) * area(ji,jj) * 86400.0     ! transport of ice volume 
     273            zcmo(ji,jj,43) = diag_trp_vi(ji,jj) * 86400.0     ! transport of ice volume 
    272274 
    273275        END DO 
     
    303305       CALL iom_put ('icethic_cea', zcmo(:,:,2) )      ! field2: ice thickness (i.e. icethi(:,:)) 
    304306       CALL iom_put ('snowthic_cea', zcmo(:,:,3))      ! field3: snow thickness 
    305        CALL iom_put ('icebopr', zcmo(:,:,4) * 1.e-9 )   ! field4: daily bottom thermo ice production 
    306        CALL iom_put ('icedypr', zcmo(:,:,5) * 1.e-9 )   ! field5: daily dynamic ice production 
     307       CALL iom_put ('icebopr', zcmo(:,:,4) )   ! field4: daily bottom thermo ice production 
     308       CALL iom_put ('icedypr', zcmo(:,:,5) )   ! field5: daily dynamic ice production 
    307309       CALL iom_put ('ioceflxb', zcmo(:,:,6) )         ! field6: Oceanic flux at the ice base 
    308310       CALL iom_put ('uice_ipa', zcmo(:,:,7) )         ! field7: ice velocity u component 
     
    319321       CALL iom_put ('micesalt', zcmo(:,:,20) )        ! field 20 :mean ice salinity 
    320322       CALL iom_put ('miceage', zcmo(:,:,21) / 365)    ! field 21: mean ice age 
    321        CALL iom_put ('icelapr',zcmo(:,:,22)* 1.e-9 )   ! field 22: daily lateral thermo ice prod. 
    322        CALL iom_put ('icesipr',zcmo(:,:,23)* 1.e-9 )   ! field 23: daily snowice ice prod. 
     323       CALL iom_put ('icelapr',zcmo(:,:,22) )   ! field 22: daily lateral thermo ice prod. 
     324       CALL iom_put ('icesipr',zcmo(:,:,23) )   ! field 23: daily snowice ice prod. 
    323325       CALL iom_put ('micet', zcmo(:,:,24) )           ! field 24: mean ice temperature 
    324326       CALL iom_put ('icehc', zcmo(:,:,25) )           ! field 25: ice total heat content 
     
    331333       CALL iom_put ('icestr', zcmo(:,:,32) * 0.001 )  ! field 32: ice strength 
    332334       CALL iom_put ('icevel', zcmo(:,:,33) )          ! field 33: ice velocity 
    333        CALL iom_put ('isume', zcmo(:,:,34) * 1.e-9 )    ! field 34: surface melt 
    334        CALL iom_put ('ibome', zcmo(:,:,35) * 1.e-9 )     ! field 35: bottom melt 
     335       CALL iom_put ('isume', zcmo(:,:,34) )    ! field 34: surface melt 
     336       CALL iom_put ('ibome', zcmo(:,:,35) )     ! field 35: bottom melt 
    335337       CALL iom_put ('idive', zcmo(:,:,36) * 1.0e8)    ! field 36: divergence 
    336338       CALL iom_put ('ishear', zcmo(:,:,37) * 1.0e8 )  ! field 37: shear 
    337        CALL iom_put ('icerepr', zcmo(:,:,38) * 1.e-9 ) ! field 38: daily prod./melting due to limupdate 
    338        CALL iom_put ('icevolu', zcmo(:,:,39) * 1.e-9 ) ! field 39: ice volume 
    339        CALL iom_put ('snowvol', zcmo(:,:,40) * 1.e-9 ) ! field 40: snow volume 
     339       CALL iom_put ('icerepr', zcmo(:,:,38) ) ! field 38: daily prod./melting due to limupdate 
     340       CALL iom_put ('icevolu', zcmo(:,:,39) ) ! field 39: ice volume 
     341       CALL iom_put ('snowvol', zcmo(:,:,40) ) ! field 40: snow volume 
    340342       CALL iom_put ('fsrpo', zcmo(:,:,41) * 86400 )           ! field 41: salt flux from ridging rafting 
    341343       CALL iom_put ('fsres', zcmo(:,:,42) * 86400 )           ! field 42: salt flux from limupdate (resultant) 
    342        CALL iom_put ('icetrp', zcmo(:,:,43) * 1.e-9 )    ! field 43: ice volume transport 
     344       CALL iom_put ('icetrp', zcmo(:,:,43) )    ! field 43: ice volume transport 
    343345 
    344346      !----------------------------- 
     
    525527      ! 
    526528   END SUBROUTINE lim_wri_init 
     529  
     530   SUBROUTINE lim_wri_state( kt, kid, kh_i ) 
     531      !!--------------------------------------------------------------------- 
     532      !!                 ***  ROUTINE lim_wri_state  *** 
     533      !!         
     534      !! ** Purpose :   create a NetCDF file named cdfile_name which contains  
     535      !!      the instantaneous ice state and forcing fields for ice model 
     536      !!        Used to find errors in the initial state or save the last 
     537      !!      ocean state in case of abnormal end of a simulation 
     538      !! 
     539      !! History : 
     540      !!   4.1  !  2013-06  (C. Rousset) 
     541      !!---------------------------------------------------------------------- 
     542      INTEGER, INTENT( in ) ::   kt               ! ocean time-step index) 
     543      INTEGER, INTENT( in ) ::   kid , kh_i        
     544      !!---------------------------------------------------------------------- 
     545      !CALL histvert( kid, "icethi", "L levels","m", jpl , hi_mean , nz ) 
     546 
     547      CALL histdef( kid, "iicethic", "Ice thickness"           , "m"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     548      CALL histdef( kid, "iiceconc", "Ice concentration"       , "%"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     549      CALL histdef( kid, "iicetemp", "Ice temperature"         , "C"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     550      CALL histdef( kid, "iicevelu", "i-Ice speed (I-point)"   , "m/s"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     551      CALL histdef( kid, "iicevelv", "j-Ice speed (I-point)"   , "m/s"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
     552      CALL histdef( kid, "iicestru", "i-Wind stress over ice (I-pt)", "Pa", jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     553      CALL histdef( kid, "iicestrv", "j-Wind stress over ice (I-pt)", "Pa", jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
     554      CALL histdef( kid, "iicesflx", "Solar flux over ocean"     , "w/m2"   , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
     555      CALL histdef( kid, "iicenflx", "Non-solar flux over ocean" , "w/m2"   , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     556      CALL histdef( kid, "isnowpre", "Snow precipitation"      , "kg/m2/s", jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
     557      CALL histdef( kid, "iicesali", "Ice salinity"            , "PSU"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
     558      CALL histdef( kid, "iicevolu", "Ice volume"              , "m"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
     559      CALL histdef( kid, "iicedive", "Ice divergence"          , "10-8s-1", jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
     560 
     561      !CALL histdef( kid, "iice_itd", "Ice concentration by cat", "%"      , jpi, jpj, kh_i, jpl, 1, jpl, -99, 32, "inst(x)", rdt, rdt )  
     562      !CALL histdef( kid, "iice_hid", "Ice thickness by cat"    , "m"      , jpi, jpj, kh_i, jpl, 1, jpl, -99, 32, "inst(x)", rdt, rdt )  
     563      !CALL histdef( kid, "iice_hsd", "Snow thickness by cat"   , "m"      , jpi, jpj, kh_i, jpl, 1, jpl, -99, 32, "inst(x)", rdt, rdt )  
     564      !CALL histdef( kid, "iice_std", "Ice salinity by cat"     , "PSU"    , jpi, jpj, kh_i, jpl, 1, jpl, -99, 32, "inst(x)", rdt, rdt )  
     565 
     566      CALL histend( kid, snc4set )   ! end of the file definition 
     567 
     568      CALL histwrite( kid, "iicethic", kt, icethi        , jpi*jpj, (/1/) )     
     569      CALL histwrite( kid, "iiceconc", kt, at_i          , jpi*jpj, (/1/) ) 
     570      CALL histwrite( kid, "iicetemp", kt, tm_i - rtt    , jpi*jpj, (/1/) ) 
     571      CALL histwrite( kid, "iicevelu", kt, u_ice          , jpi*jpj, (/1/) ) 
     572      CALL histwrite( kid, "iicevelv", kt, v_ice          , jpi*jpj, (/1/) ) 
     573      CALL histwrite( kid, "iicestru", kt, utau_ice       , jpi*jpj, (/1/) ) 
     574      CALL histwrite( kid, "iicestrv", kt, vtau_ice       , jpi*jpj, (/1/) ) 
     575      CALL histwrite( kid, "iicesflx", kt, qsr , jpi*jpj, (/1/) ) 
     576      CALL histwrite( kid, "iicenflx", kt, qns , jpi*jpj, (/1/) ) 
     577      CALL histwrite( kid, "isnowpre", kt, sprecip        , jpi*jpj, (/1/) ) 
     578      CALL histwrite( kid, "iicesali", kt, smt_i          , jpi*jpj, (/1/) ) 
     579      CALL histwrite( kid, "iicevolu", kt, vt_i           , jpi*jpj, (/1/) ) 
     580      CALL histwrite( kid, "iicedive", kt, divu_i*1.0e8   , jpi*jpj, (/1/) ) 
     581 
     582      !CALL histwrite( kid, "iice_itd", kt, a_i  , jpi*jpj*jpl, (/1/)  )   ! area 
     583      !CALL histwrite( kid, "iice_hid", kt, ht_i , jpi*jpj*jpl, (/1/)  )   ! thickness 
     584      !CALL histwrite( kid, "iice_hsd", kt, ht_s , jpi*jpj*jpl, (/1/)  )   ! snow depth 
     585      !CALL histwrite( kid, "iice_std", kt, sm_i , jpi*jpj*jpl, (/1/)  )   ! salinity 
     586 
     587    END SUBROUTINE lim_wri_state 
    527588 
    528589#else 
Note: See TracChangeset for help on using the changeset viewer.