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 2477 for trunk/NEMO/LIM_SRC_3 – NEMO

Changeset 2477 for trunk/NEMO/LIM_SRC_3


Ignore:
Timestamp:
2010-12-17T14:42:51+01:00 (13 years ago)
Author:
cetlod
Message:

v3.2:remove hardcoded value of num_sal in limrst.F90, see ticket #633

Location:
trunk/NEMO/LIM_SRC_3
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/LIM_SRC_3/iceini.F90

    r1581 r2477  
    1818   USE limmsh 
    1919   USE limistate 
     20   USE limthd         ! LIM: ice thermodynamics  
     21   USE limthd_sal     ! LIM: ice thermodynamics: salinity  
    2022   USE limrst 
    2123   USE par_ice 
     
    2628   PRIVATE 
    2729 
    28    !! * Routine accessibility 
    2930   PUBLIC ice_init                 ! called by opa.F90 
    30    PUBLIC lim_itd_ini 
    31  
    32    !! * Share Module variables 
    33    INTEGER , PUBLIC  ::   &  !: 
    34       nstart ,            &  !: iteration number of the begining of the run  
    35       nlast  ,            &  !: iteration number of the end of the run  
    36       nitrun ,            &  !: number of iteration 
    37       numit                  !: iteration number 
    38    REAL(wp), PUBLIC  ::   &  !: 
    39       tpstot                 !: time of the run in seconds 
    4031   !!---------------------------------------------------------------------- 
    4132   !!   LIM 3.0,  UCL-ASTR-LOCEAN-IPSL (2008)  
     
    6152 
    6253      CALL ice_run                    !  read in namelist some run parameters 
    63  
    64       ! Louvain la Neuve Ice model 
    65       IF( nacc == 1 ) THEN 
    66          rdt_ice = nn_fsbc * rdtmin 
    67       ELSE 
    68          rdt_ice = nn_fsbc * rdt 
    69       ENDIF 
    70  
    71       CALL lim_msh                    ! ice mesh initialization 
    72  
    73       CALL lim_itd_ini                ! initialize the ice thickness 
    74       ! distribution 
    75       ! Initial sea-ice state 
    76       IF( .NOT.ln_rstart ) THEN 
     54      ! 
     55      CALL lim_thd_init                ! namelist read ice thermodynics parameters 
     56      ! 
     57      CALL lim_thd_sal_init            ! namelist read ice salinity parameters 
     58      ! 
     59      rdt_ice = nn_fsbc * rdttra(1)    ! sea-ice timestep 
     60      ! 
     61      CALL lim_msh                     ! ice mesh initialization 
     62      ! 
     63      CALL lim_itd_ini                 ! initialize the ice thickness distribution 
     64 
     65     !                                ! Initial sea-ice state 
     66      IF( .NOT.ln_rstart ) THEN              ! start from rest 
    7767         numit = 0 
    7868         numit = nit000 - 1 
    79          CALL lim_istate              ! start from rest: sea-ice deduced from sst 
    80          CALL lim_var_agg(1)          ! aggregate category variables in 
    81          ! bulk variables 
    82          CALL lim_var_glo2eqv         ! convert global variables in equivalent 
    83          ! variables 
    84       ELSE 
    85          CALL lim_rst_read            ! start from a restart file 
    86  
     69         CALL lim_istate                        ! start from rest: sea-ice deduced from sst 
     70         CALL lim_var_agg(1)                    ! aggregate category variables in bulk variables 
     71         CALL lim_var_glo2eqv                   ! convert global variables in equivalent variables 
     72      ELSE                                   ! start from a restart file 
     73         CALL lim_rst_read                      ! read the restart file 
    8774         numit = nit000 - 1 
    88          CALL lim_var_agg(1)          ! aggregate ice variables 
    89          CALL lim_var_glo2eqv         ! convert global var in equivalent variables 
    90       ENDIF 
    91  
     75         CALL lim_var_agg(1)                    ! aggregate ice variables 
     76         CALL lim_var_glo2eqv                   ! convert global var in equivalent variables 
     77      ENDIF 
     78      ! 
    9279      fr_i(:,:) = at_i(:,:)           ! initialisation of sea-ice fraction 
    93  
    94       nstart = numit  + nn_fsbc       
    95       nitrun = nitend - nit000 + 1  
    96       nlast  = numit  + nitrun  
    97  
    98       IF( nstock == 0  )  nstock = nlast + 1 
     80      ! 
     81      nstart = numit  + nn_fsbc 
     82      nitrun = nitend - nit000 + 1 
     83      nlast  = numit  + nitrun 
     84      ! 
     85      IF( nstock == 0  )   nstock = nlast + 1 
    9986 
    10087   END SUBROUTINE ice_init 
  • trunk/NEMO/LIM_SRC_3/limdia.F90

    r2472 r2477  
    2222   USE dom_ice 
    2323   USE ice 
    24    USE iceini 
    25    USE limistate 
    2624   USE dom_oce 
    2725   USE sbc_oce         ! Surface boundary condition: ocean fields 
  • trunk/NEMO/LIM_SRC_3/limdyn.F90

    r1470 r2477  
    2020   USE sbc_oce         ! Surface boundary condition: ocean fields 
    2121   USE sbc_ice         ! Surface boundary condition: ice fields 
    22    USE iceini 
    23    USE limistate 
    2422   USE limrhg          ! ice rheology 
    2523   USE lbclnk 
  • trunk/NEMO/LIM_SRC_3/limitd_me.F90

    r1572 r2477  
    1919   USE sbc_oce          ! Surface boundary condition: ocean fields 
    2020   USE thd_ice 
    21    USE limistate 
    2221   USE in_out_manager 
    2322   USE ice 
     
    2524   USE limthd_lac 
    2625   USE limvar 
    27    USE iceini 
    2826   USE limcons 
    2927   USE prtctl           ! Print control 
  • trunk/NEMO/LIM_SRC_3/limitd_th.F90

    r1465 r2477  
    1717   USE phycst           ! physical constants (ocean directory)  
    1818   USE thd_ice 
    19    USE limistate 
    2019   USE in_out_manager 
    2120   USE ice 
     
    2322   USE limthd_lac 
    2423   USE limvar 
    25    USE iceini 
    2624   USE limcons 
    2725   USE prtctl           ! Print control 
  • trunk/NEMO/LIM_SRC_3/limrhg.F90

    r1469 r2477  
    2222   USE sbc_ice         ! Surface boundary condition: ice fields 
    2323   USE ice 
    24    USE iceini 
    2524   USE lbclnk 
    2625   USE lib_mpp 
  • trunk/NEMO/LIM_SRC_3/limrst.F90

    r1715 r2477  
    289289      ! 
    290290 
    291       IF( ln_nicep) THEN 
    292          WRITE(numout,*) 
    293          WRITE(numout,*) ' lim_rst_write : CHUKCHI SEA POINT ' 
    294          WRITE(numout,*) ' ~~~~~~~~~~' 
    295          WRITE(numout,*) ' ~~~ Arctic' 
    296  
    297          ji = jiindx 
    298          jj = jjindx 
    299  
    300          WRITE(numout,*) ' ji, jj ', ji, jj 
    301          WRITE(numout,*) ' ICE VARIABLES ' 
    302          WRITE(numout,*) ' open water ', ato_i(ji,jj) 
    303          DO jl = 1, jpl 
    304             WRITE(numout,*) ' *** CATEGORY NUMBER *** ', jl 
    305             WRITE(numout,*) ' ' 
    306             WRITE(numout,*) ' a_i        : ', a_i(ji,jj,jl)      
    307             WRITE(numout,*) ' v_i        : ', v_i(ji,jj,jl)  
    308             WRITE(numout,*) ' v_s        : ', v_s(ji,jj,jl)     
    309             WRITE(numout,*) ' e_s        : ', e_s(ji,jj,1,jl)/1.0e9 
    310             WRITE(numout,*) ' e_i1       : ', e_i(ji,jj,1,jl)/1.0e9       
    311             WRITE(numout,*) ' e_i2       : ', e_i(ji,jj,2,jl)/1.0e9       
    312             WRITE(numout,*) ' smv_i      : ', smv_i(ji,jj,jl)   
    313             WRITE(numout,*) ' oa_i       : ', oa_i(ji,jj,jl) 
    314             WRITE(numout,*) ' t_su       : ', t_su(ji,jj,jl) 
    315          END DO 
    316  
    317          WRITE(numout,*) ' MOMENTS OF ADVECTION ' 
    318  
    319          WRITE(numout,*) ' open water ' 
    320          WRITE(numout,*) ' sxopw  ', sxopw(ji,jj) 
    321          WRITE(numout,*) ' syopw  ', syopw(ji,jj) 
    322          WRITE(numout,*) ' sxxopw ', sxxopw(ji,jj) 
    323          WRITE(numout,*) ' syyopw ', syyopw(ji,jj) 
    324          WRITE(numout,*) ' sxyopw ', sxyopw(ji,jj) 
    325          DO jl = 1, jpl 
    326             WRITE(numout,*) ' jl, ice volume content ', jl 
    327             WRITE(numout,*) ' sxice  ', sxice(ji,jj,jl) 
    328             WRITE(numout,*) ' syice  ', syice(ji,jj,jl) 
    329             WRITE(numout,*) ' sxxice ', sxxice(ji,jj,jl) 
    330             WRITE(numout,*) ' syyice ', syyice(ji,jj,jl) 
    331             WRITE(numout,*) ' sxyice ', sxyice(ji,jj,jl) 
    332             WRITE(numout,*) ' jl, snow volume content ', jl 
    333             WRITE(numout,*) ' sxsn   ', sxsn(ji,jj,jl) 
    334             WRITE(numout,*) ' sysn   ', sysn(ji,jj,jl) 
    335             WRITE(numout,*) ' sxxsn  ', sxxsn(ji,jj,jl) 
    336             WRITE(numout,*) ' syysn  ', syysn(ji,jj,jl) 
    337             WRITE(numout,*) ' sxysn  ', sxysn(ji,jj,jl) 
    338             WRITE(numout,*) ' jl, ice area in category ', jl 
    339             WRITE(numout,*) ' sxa    ', sxa (ji,jj,jl) 
    340             WRITE(numout,*) ' sya    ', sya (ji,jj,jl) 
    341             WRITE(numout,*) ' sxxa   ', sxxa (ji,jj,jl) 
    342             WRITE(numout,*) ' syya   ', syya (ji,jj,jl) 
    343             WRITE(numout,*) ' sxya   ', sxya (ji,jj,jl) 
    344             WRITE(numout,*) ' jl, snow temp ', jl 
    345             WRITE(numout,*) ' sxc0   ', sxc0(ji,jj,jl) 
    346             WRITE(numout,*) ' syc0   ', syc0(ji,jj,jl) 
    347             WRITE(numout,*) ' sxxc0  ', sxxc0(ji,jj,jl) 
    348             WRITE(numout,*) ' syyc0  ', syyc0(ji,jj,jl) 
    349             WRITE(numout,*) ' sxyc0  ', sxyc0(ji,jj,jl) 
    350             WRITE(numout,*) ' jl, ice salinity ', jl 
    351             WRITE(numout,*) ' sxsal  ', sxsal(ji,jj,jl) 
    352             WRITE(numout,*) ' sysal  ', sysal(ji,jj,jl) 
    353             WRITE(numout,*) ' sxxsal ', sxxsal(ji,jj,jl) 
    354             WRITE(numout,*) ' syysal ', syysal(ji,jj,jl) 
    355             WRITE(numout,*) ' sxysal ', sxysal(ji,jj,jl) 
    356             WRITE(numout,*) ' jl, ice age      ', jl 
    357             WRITE(numout,*) ' sxage  ', sxage(ji,jj,jl) 
    358             WRITE(numout,*) ' syage  ', syage(ji,jj,jl) 
    359             WRITE(numout,*) ' sxxage ', sxxage(ji,jj,jl) 
    360             WRITE(numout,*) ' syyage ', syyage(ji,jj,jl) 
    361             WRITE(numout,*) ' sxyage ', sxyage(ji,jj,jl) 
    362          END DO 
    363          DO jl = 1, jpl 
    364             DO jk = 1, nlay_i 
    365                WRITE(numout,*) ' jk, jl, ice heat content', jk, jl 
    366                WRITE(numout,*) ' sxe    ', sxe(ji,jj,jk,jl) 
    367                WRITE(numout,*) ' sye    ', sye(ji,jj,jk,jl) 
    368                WRITE(numout,*) ' sxxe   ', sxxe(ji,jj,jk,jl) 
    369                WRITE(numout,*) ' syye   ', syye(ji,jj,jk,jl) 
    370                WRITE(numout,*) ' sxye   ', sxye(ji,jj,jk,jl) 
    371             END DO 
    372          END DO 
    373  
    374       ENDIF 
    375  
    376291   END SUBROUTINE lim_rst_write 
    377292 
     
    471386      ! Salinity profile 
    472387      !----------------- 
    473       WRITE(numout,*) ' num_sal - will restart understand salinity profile ', num_sal 
    474  
    475       num_sal = 2 
    476       IF(num_sal.eq.2) THEN 
     388      IF( num_sal == 2 ) THEN 
    477389         !     CALL lim_var_salprof 
    478390         DO jl = 1, jpl 
     
    649561      CALL iom_close( numrir ) 
    650562 
    651       !+++++++++++ CHECK EVERYTHING ++++++++++ 
    652  
    653       WRITE(numout,*) 
    654       WRITE(numout,*) ' lim_rst_read  : CHUKCHI SEA POINT ' 
    655       WRITE(numout,*) ' ~~~~~~~~~~' 
    656       WRITE(numout,*) ' ~~~ Arctic' 
    657  
    658       indx = 1 
    659       ji = 24 
    660       jj = 24 
    661       WRITE(numout,*) ' ji, jj ', ji, jj 
    662       WRITE(numout,*) ' ICE VARIABLES ' 
    663       WRITE(numout,*) ' open water ', ato_i(ji,jj) 
    664  
    665       DO jl = 1, jpl 
    666          WRITE(numout,*) ' *** CATEGORY NUMBER *** ', jl 
    667          WRITE(numout,*) ' ' 
    668          WRITE(numout,*) ' a_i        : ', a_i(ji,jj,jl)      
    669          WRITE(numout,*) ' v_i        : ', v_i(ji,jj,jl)  
    670          WRITE(numout,*) ' v_s        : ', v_s(ji,jj,jl)     
    671          WRITE(numout,*) ' e_i1       : ', e_i(ji,jj,1,jl)/1.0e9       
    672          WRITE(numout,*) ' e_i2       : ', e_i(ji,jj,2,jl)/1.0e9       
    673          WRITE(numout,*) ' e_s        : ', e_s(ji,jj,1,jl)       
    674          WRITE(numout,*) ' smv_i      : ', smv_i(ji,jj,jl)   
    675          WRITE(numout,*) ' oa_i       : ', oa_i(ji,jj,jl) 
    676          WRITE(numout,*) ' t_su       : ', t_su(ji,jj,jl) 
    677       END DO 
    678  
    679       WRITE(numout,*) ' open water ' 
    680       WRITE(numout,*) ' sxopw  ', sxopw(ji,jj) 
    681       WRITE(numout,*) ' syopw  ', syopw(ji,jj) 
    682       WRITE(numout,*) ' sxxopw ', sxxopw(ji,jj) 
    683       WRITE(numout,*) ' syyopw ', syyopw(ji,jj) 
    684       WRITE(numout,*) ' sxyopw ', sxyopw(ji,jj) 
    685       DO jl = 1, jpl 
    686          WRITE(numout,*) ' jl, ice volume content ', jl 
    687          WRITE(numout,*) ' sxice  ', sxice(ji,jj,jl) 
    688          WRITE(numout,*) ' syice  ', syice(ji,jj,jl) 
    689          WRITE(numout,*) ' sxxice ', sxxice(ji,jj,jl) 
    690          WRITE(numout,*) ' syyice ', syyice(ji,jj,jl) 
    691          WRITE(numout,*) ' sxyice ', sxyice(ji,jj,jl) 
    692          WRITE(numout,*) ' jl, snow volume content ', jl 
    693          WRITE(numout,*) ' sxsn   ', sxsn(ji,jj,jl) 
    694          WRITE(numout,*) ' sysn   ', sysn(ji,jj,jl) 
    695          WRITE(numout,*) ' sxxsn  ', sxxsn(ji,jj,jl) 
    696          WRITE(numout,*) ' syysn  ', syysn(ji,jj,jl) 
    697          WRITE(numout,*) ' sxysn  ', sxysn(ji,jj,jl) 
    698          WRITE(numout,*) ' jl, ice area in category ', jl 
    699          WRITE(numout,*) ' sxa    ', sxa (ji,jj,jl) 
    700          WRITE(numout,*) ' sya    ', sya (ji,jj,jl) 
    701          WRITE(numout,*) ' sxxa   ', sxxa (ji,jj,jl) 
    702          WRITE(numout,*) ' syya   ', syya (ji,jj,jl) 
    703          WRITE(numout,*) ' sxya   ', sxya (ji,jj,jl) 
    704          WRITE(numout,*) ' jl, snow temp ', jl 
    705          WRITE(numout,*) ' sxc0   ', sxc0(ji,jj,jl) 
    706          WRITE(numout,*) ' syc0   ', syc0(ji,jj,jl) 
    707          WRITE(numout,*) ' sxxc0  ', sxxc0(ji,jj,jl) 
    708          WRITE(numout,*) ' syyc0  ', syyc0(ji,jj,jl) 
    709          WRITE(numout,*) ' sxyc0  ', sxyc0(ji,jj,jl) 
    710          WRITE(numout,*) ' jl, ice salinity ', jl 
    711          WRITE(numout,*) ' sxsal  ', sxsal(ji,jj,jl) 
    712          WRITE(numout,*) ' sysal  ', sysal(ji,jj,jl) 
    713          WRITE(numout,*) ' sxxsal ', sxxsal(ji,jj,jl) 
    714          WRITE(numout,*) ' syysal ', syysal(ji,jj,jl) 
    715          WRITE(numout,*) ' sxysal ', sxysal(ji,jj,jl) 
    716          WRITE(numout,*) ' jl, ice age      ', jl 
    717          WRITE(numout,*) ' sxage  ', sxage(ji,jj,jl) 
    718          WRITE(numout,*) ' syage  ', syage(ji,jj,jl) 
    719          WRITE(numout,*) ' sxxage ', sxxage(ji,jj,jl) 
    720          WRITE(numout,*) ' syyage ', syyage(ji,jj,jl) 
    721          WRITE(numout,*) ' sxyage ', sxyage(ji,jj,jl) 
    722       END DO 
    723       DO jl = 1, jpl 
    724          DO jk = 1, nlay_i 
    725             WRITE(numout,*) ' jk, jl, ice heat content', jk, jl 
    726             WRITE(numout,*) ' sxe    ', sxe(ji,jj,jk,jl) 
    727             WRITE(numout,*) ' sye    ', sye(ji,jj,jk,jl) 
    728             WRITE(numout,*) ' sxxe   ', sxxe(ji,jj,jk,jl) 
    729             WRITE(numout,*) ' syye   ', syye(ji,jj,jk,jl) 
    730             WRITE(numout,*) ' sxye   ', sxye(ji,jj,jk,jl) 
    731          END DO 
    732       END DO 
    733  
    734       !+++++++++++ END CHECK +++++++++++++++++ 
    735  
    736563   END SUBROUTINE lim_rst_read 
    737564 
  • trunk/NEMO/LIM_SRC_3/limsbc.F90

    r1695 r2477  
    2222   USE phycst           ! physical constants 
    2323   USE ice              ! LIM sea-ice variables 
    24    USE iceini           ! ??? 
    2524 
    2625   USE lbclnk           ! ocean lateral boundary condition 
  • trunk/NEMO/LIM_SRC_3/limthd.F90

    r2387 r2477  
    1515   !!---------------------------------------------------------------------- 
    1616   !!   lim_thd      : thermodynamic of sea ice 
    17    !!   lim_thd_init : initialisation of sea-ice thermodynamic 
    1817   !!---------------------------------------------------------------------- 
    1918   USE phycst          ! physical constants 
     
    2625   USE dom_ice         ! LIM sea-ice domain 
    2726   USE domvvl 
    28    USE iceini 
    2927   USE limthd_dif 
    3028   USE limthd_dh 
     
    9189      !!------------------------------------------------------------------- 
    9290 
    93       IF( numit == nstart )   CALL lim_thd_init      ! Initialization (first time-step only) 
    94  
    95       IF( numit == nstart )   CALL lim_thd_sal_init  ! Initialization (first time-step only) 
    9691       
    9792      !------------------------------------------------------------------------------! 
  • trunk/NEMO/LIM_SRC_3/limthd_dh.F90

    r1572 r2477  
    1818   USE sbc_oce          ! Surface boundary condition: ocean fields 
    1919   USE thd_ice 
    20    USE iceini 
    21    USE limistate 
    2220   USE in_out_manager 
    2321   USE ice 
  • trunk/NEMO/LIM_SRC_3/limthd_dif.F90

    r1465 r2477  
    1515   USE phycst           ! physical constants (ocean directory)  
    1616   USE thd_ice 
    17    USE iceini 
    18    USE limistate 
    1917   USE in_out_manager 
    2018   USE ice 
  • trunk/NEMO/LIM_SRC_3/limthd_ent.F90

    r1724 r2477  
    1919   USE phycst 
    2020   USE thd_ice 
    21    USE iceini 
    22    USE limistate 
    2321   USE ice 
    2422   USE limvar 
  • trunk/NEMO/LIM_SRC_3/limthd_lac.F90

    r1469 r2477  
    2121   USE par_ice 
    2222   USE ice 
    23    USE iceini 
    2423   USE limtab 
    2524   USE limcons 
  • trunk/NEMO/LIM_SRC_3/limthd_sal.F90

    r1465 r2477  
    1616   USE sbc_oce          ! Surface boundary condition: ocean fields 
    1717   USE thd_ice 
    18    USE iceini 
    1918   USE ice 
    20    USE limistate 
    2119   USE in_out_manager 
    2220   USE limvar 
  • trunk/NEMO/LIM_SRC_3/limtrp.F90

    r1922 r2477  
    1818   USE dom_ice 
    1919   USE ice 
    20    USE iceini 
    21    USE limistate 
    2220   USE limadv 
    2321   USE limhdf 
  • trunk/NEMO/LIM_SRC_3/limupdate.F90

    r1715 r2477  
    2929   USE phycst          ! Define parameters for the routines 
    3030   USE ice 
    31    USE iceini 
    3231   USE lbclnk 
    3332   USE limdyn 
  • trunk/NEMO/LIM_SRC_3/limwri.F90

    r1715 r2477  
    2626   USE dom_ice 
    2727   USE ice 
    28    USE iceini 
    2928   USE lbclnk 
    3029   USE par_ice 
Note: See TracChangeset for help on using the changeset viewer.