Changeset 5128


Ignore:
Timestamp:
2015-03-05T18:23:13+01:00 (6 years ago)
Author:
clem
Message:

LIM3: put debug (i,j) points in the namelist and change their names

Location:
trunk/NEMOGCM/NEMO
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/ice.F90

    r5123 r5128  
    373373   CHARACTER(len=32), PUBLIC ::   cn_icerst_out   !: suffix of ice restart name (output) 
    374374   LOGICAL          , PUBLIC ::   ln_limdyn       !: flag for ice dynamics (T) or not (F) 
    375    LOGICAL          , PUBLIC ::   ln_nicep        !: flag for sea-ice points output (T) or not (F) 
     375   LOGICAL          , PUBLIC ::   ln_icectl       !: flag for sea-ice points output (T) or not (F) 
    376376   REAL(wp)         , PUBLIC ::   rn_amax         !: maximum ice concentration 
     377   INTEGER          , PUBLIC ::   iiceprt         !: debug i-point 
     378   INTEGER          , PUBLIC ::   jiceprt         !: debug j-point 
    377379   ! 
    378380   !!-------------------------------------------------------------------------- 
     
    392394   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::   diag_heat_dhc !: snw/ice heat content variation   [W/m2]  
    393395   ! 
    394    INTEGER , PUBLIC ::   jiindx, jjindx        !: indexes of the debugging point 
    395  
    396396   !!---------------------------------------------------------------------- 
    397397   !! NEMO/LIM3 4.0 , UCL - NEMO Consortium (2010) 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90

    r5123 r5128  
    887887         CALL lim_column_sum        (jpl,    v_i,       vice_init ) 
    888888         CALL lim_column_sum_energy (jpl, nlay_i,  e_i, eice_init ) 
    889          DO ji = mi0(jiindx), mi1(jiindx) 
    890             DO jj = mj0(jjindx), mj1(jjindx) 
     889         DO ji = mi0(iiceprt), mi1(iiceprt) 
     890            DO jj = mj0(jiceprt), mj1(jiceprt) 
    891891               WRITE(numout,*) ' vice_init  : ', vice_init(ji,jj) 
    892892               WRITE(numout,*) ' eice_init  : ', eice_init(ji,jj) 
     
    12511251         CALL lim_cons_check (eice_init, eice_final, 1.0e-2, fieldid)  
    12521252 
    1253          DO ji = mi0(jiindx), mi1(jiindx) 
    1254             DO jj = mj0(jjindx), mj1(jjindx) 
     1253         DO ji = mi0(iiceprt), mi1(iiceprt) 
     1254            DO jj = mj0(jiceprt), mj1(jiceprt) 
    12551255               WRITE(numout,*) ' vice_init  : ', vice_init (ji,jj) 
    12561256               WRITE(numout,*) ' vice_final : ', vice_final(ji,jj) 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90

    r5123 r5128  
    8686      ENDIF 
    8787      ! 
    88       IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx, 1, ' - Beginning the time step - ' )   ! control print 
     88      IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt, 1, ' - Beginning the time step - ' )   ! control print 
    8989   END SUBROUTINE lim_rst_opn 
    9090 
     
    307307      !! ** purpose  :   read of sea-ice variable restart in a netcdf file 
    308308      !!---------------------------------------------------------------------- 
    309       INTEGER :: ji, jj, jk, jl, indx 
     309      INTEGER :: ji, jj, jk, jl 
    310310      REAL(wp) ::   zfice, ziter 
    311       REAL(wp) ::   zs_inf, z_slope_s, zsmax, zsmin, zalpha   ! local scalars used for the salinity profile 
    312       REAL(wp), POINTER, DIMENSION(:)   ::   zs_zero  
    313311      REAL(wp), POINTER, DIMENSION(:,:) ::   z2d 
    314312      CHARACTER(len=15) ::   znam 
     
    318316      !!---------------------------------------------------------------------- 
    319317 
    320       CALL wrk_alloc( nlay_i, zs_zero ) 
    321318      CALL wrk_alloc( jpi, jpj, z2d ) 
    322319 
     
    534531      !CALL iom_close( numrir ) !clem: closed in sbcice_lim.F90 
    535532      ! 
    536       CALL wrk_dealloc( nlay_i, zs_zero ) 
    537533      CALL wrk_dealloc( jpi, jpj, z2d ) 
    538534      ! 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90

    r5123 r5128  
    222222      ENDIF 
    223223 
    224       IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx, 3, ' - Final state lim_sbc - ' )   ! control print 
     224      IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt, 3, ' - Final state lim_sbc - ' )   ! control print 
    225225 
    226226      IF(ln_ctl) THEN 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90

    r5123 r5128  
    263263         ! debug point to follow 
    264264         jiindex_1d = 0 
    265          IF( ln_nicep ) THEN 
    266             DO ji = mi0(jiindx), mi1(jiindx) 
    267                DO jj = mj0(jjindx), mj1(jjindx) 
     265         IF( ln_icectl ) THEN 
     266            DO ji = mi0(iiceprt), mi1(iiceprt) 
     267               DO jj = mj0(jiceprt), mj1(jiceprt) 
    268268                  jiindex_1d = (jj - 1) * jpi + ji 
    269269                  WRITE(numout,*) ' lim_thd : Category no : ', jl  
     
    363363      ! Diagnostic thermodynamic growth rates 
    364364      !-------------------------------------------- 
    365       IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx, 1, ' - ice thermodyn. - ' )   ! control print 
     365      IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt, 1, ' - ice thermodyn. - ' )   ! control print 
    366366 
    367367      IF(ln_ctl) THEN            ! Control print 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90

    r5123 r5128  
    591591      DO ji = kideb, kiut 
    592592         zq_rema(ji)     = zq_su(ji) + zq_bo(ji)  
    593 !         zindh           = 1._wp - MAX( 0._wp, SIGN( 1._wp, - ht_s_1d(ji) ) )   ! =1 if snow 
    594 !         zindq           = 1._wp - MAX( 0._wp, SIGN( 1._wp, - zq_s(ji) + epsi20 ) ) 
    595 !         zdeltah  (ji,1) = - zindh * zindq * zq_rema(ji) / MAX( zq_s(ji), epsi20 ) 
    596 !         zdeltah  (ji,1) = MIN( 0._wp , MAX( zdeltah(ji,1) , - ht_s_1d(ji) ) ) ! bound melting 
    597 !         zdh_s_mel(ji)   = zdh_s_mel(ji) + zdeltah(ji,1)     
    598 !         dh_s_tot (ji)   = dh_s_tot(ji) + zdeltah(ji,1) 
    599 !         ht_s_1d   (ji)   = ht_s_1d(ji)   + zdeltah(ji,1) 
    600 !         
    601 !         zq_rema(ji)     = zq_rema(ji) + zdeltah(ji,1) * zq_s(ji)                ! update available heat (J.m-2) 
    602 !         ! heat used to melt snow 
    603 !         hfx_snw_1d(ji)  = hfx_snw_1d(ji) - zdeltah(ji,1) * a_i_1d(ji) * zq_s(ji) * r1_rdtice ! W.m-2 (>0) 
    604 !         ! Contribution to mass flux 
    605 !         wfx_snw_1d(ji)  =  wfx_snw_1d(ji) - rhosn * a_i_1d(ji) * zdeltah(ji,1) * r1_rdtice 
    606 !     
     593         rswitch         = 1._wp - MAX( 0._wp, SIGN( 1._wp, - ht_s_1d(ji) ) )   ! =1 if snow 
     594         rswitch         = rswitch * MAX( 0._wp, SIGN( 1._wp, zq_s(ji) - epsi20 ) ) 
     595         zdeltah  (ji,1) = - rswitch * zq_rema(ji) / MAX( zq_s(ji), epsi20 ) 
     596         zdeltah  (ji,1) = MIN( 0._wp , MAX( zdeltah(ji,1) , - ht_s_1d(ji) ) ) ! bound melting 
     597         zdh_s_mel(ji)   = zdh_s_mel(ji) + zdeltah(ji,1)     
     598         dh_s_tot (ji)   = dh_s_tot(ji) + zdeltah(ji,1) 
     599         ht_s_1d   (ji)  = ht_s_1d(ji)   + zdeltah(ji,1) 
     600         
     601         zq_rema(ji)     = zq_rema(ji) + zdeltah(ji,1) * zq_s(ji)                ! update available heat (J.m-2) 
     602         ! heat used to melt snow 
     603         hfx_snw_1d(ji)  = hfx_snw_1d(ji) - zdeltah(ji,1) * a_i_1d(ji) * zq_s(ji) * r1_rdtice ! W.m-2 (>0) 
     604         ! Contribution to mass flux 
     605         wfx_snw_1d(ji)  =  wfx_snw_1d(ji) - rhosn * a_i_1d(ji) * zdeltah(ji,1) * r1_rdtice 
     606         !     
    607607         ii = MOD( npb(ji) - 1, jpi ) + 1 ; ij = ( npb(ji) - 1 ) / jpi + 1 
    608608         ! Remaining heat flux (W.m-2) is sent to the ocean heat budget 
    609609         hfx_out(ii,ij)  = hfx_out(ii,ij) + ( zq_rema(ji) * a_i_1d(ji) ) * r1_rdtice 
    610610 
    611          IF( ln_nicep .AND. zq_rema(ji) < 0. .AND. lwp ) WRITE(numout,*) 'ALERTE zq_rema <0 = ', zq_rema(ji) 
     611         IF( ln_icectl .AND. zq_rema(ji) < 0. .AND. lwp ) WRITE(numout,*) 'ALERTE zq_rema <0 = ', zq_rema(ji) 
    612612      END DO 
    613613       
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90

    r5123 r5128  
    734734      END DO  ! End of the do while iterative procedure 
    735735 
    736       IF( ln_nicep .AND. lwp ) THEN 
     736      IF( ln_icectl .AND. lwp ) THEN 
    737737         WRITE(numout,*) ' zerritmax : ', zerritmax 
    738738         WRITE(numout,*) ' nconv     : ', nconv 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90

    r5123 r5128  
    265265      ! debug point to follow 
    266266      jiindex_1d = 0 
    267       IF( ln_nicep ) THEN 
    268          DO ji = mi0(jiindx), mi1(jiindx) 
    269             DO jj = mj0(jjindx), mj1(jjindx) 
     267      IF( ln_icectl ) THEN 
     268         DO ji = mi0(iiceprt), mi1(iiceprt) 
     269            DO jj = mj0(jiceprt), mj1(jiceprt) 
    270270               IF ( qlead(ji,jj)  <  0._wp ) THEN 
    271271                  jiindex_1d = (jj - 1) * jpi + ji 
     
    275275      ENDIF 
    276276    
    277       IF( ln_nicep ) WRITE(numout,*) 'lim_thd_lac : nbpac = ', nbpac 
     277      IF( ln_icectl ) WRITE(numout,*) 'lim_thd_lac : nbpac = ', nbpac 
    278278 
    279279      !------------------------------ 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90

    r5123 r5128  
    455455      ! control prints 
    456456      ! ------------------------------------------------- 
    457       IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx,-1, ' - ice dyn & trp - ' ) 
     457      IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt,-1, ' - ice dyn & trp - ' ) 
    458458      ! 
    459459      CALL wrk_dealloc( jpi,jpj,           zsm, zs0at, zatold, zeiold, zesold ) 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate2.F90

    r5123 r5128  
    198198      ! control prints 
    199199      ! ------------------------------------------------- 
    200       IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx, 2, ' - Final state - ' )   ! control print 
     200      IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt, 2, ' - Final state - ' )   ! control print 
    201201 
    202202      IF(ln_ctl) THEN   ! Control print 
  • trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r5123 r5128  
    206206            CALL lim_var_zapsmall 
    207207            CALL lim_var_agg(1) 
    208             IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx, 1, ' - ice thermo bdy - ' ) 
     208            IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt, 1, ' - ice thermo bdy - ' ) 
    209209#endif 
    210210            CALL lim_update1( kt ) 
     
    250250         CALL lim_var_glo2eqv                       ! ??? 
    251251         ! 
    252          IF( ln_nicep )   CALL lim_ctl( kt )        ! alerts in case of model crash 
     252         IF( ln_icectl )   CALL lim_ctl( kt )        ! alerts in case of model crash 
    253253         ! 
    254254         CALL wrk_dealloc( jpi,jpj,jpl, zalb_os, zalb_cs, zalb_ice ) 
     
    352352      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    353353      NAMELIST/namicerun/ jpl, nlay_i, nlay_s, cn_icerst_in, cn_icerst_out,   & 
    354          &                ln_limdyn, rn_amax, ln_nicep, ln_limdiahsb, ln_limdiaout 
     354         &                ln_limdyn, rn_amax, ln_limdiahsb, ln_limdiaout, ln_icectl, iiceprt, jiceprt   
    355355      !!------------------------------------------------------------------- 
    356356      !                     
     
    374374         WRITE(numout,*) '   switch for ice dynamics (1) or not (0)      ln_limdyn   = ', ln_limdyn 
    375375         WRITE(numout,*) '   maximum ice concentration                               = ', rn_amax  
    376          WRITE(numout,*) '   Several ice points in the ice or not in ocean.output    = ', ln_nicep 
    377376         WRITE(numout,*) '   Diagnose heat/salt budget or not          ln_limdiahsb  = ', ln_limdiahsb 
    378377         WRITE(numout,*) '   Output   heat/salt budget or not          ln_limdiaout  = ', ln_limdiaout 
    379       ENDIF 
    380       ! 
    381       !IF( lk_mpp .AND. ln_nicep ) THEN 
    382       !   ln_nicep = .FALSE. 
    383       !   CALL ctl_warn( 'ice_run : specific control print for LIM3 desactivated with MPI' ) 
    384       !ENDIF 
    385       IF( ln_nicep ) THEN      ! control print at a given point 
    386          jiindx = 15    ;   jjindx =  44 
    387          IF(lwp) WRITE(numout,*) ' The debugging point is : jiindx : ',jiindx, ' jjindx : ',jjindx 
     378         WRITE(numout,*) '   control prints in ocean.out for (i,j)=(iiceprt,jiceprt) = ', ln_icectl 
     379         WRITE(numout,*) '   i-index for control prints (ln_icectl=true)             = ', iiceprt 
     380         WRITE(numout,*) '   j-index for control prints (ln_icectl=true)             = ', jiceprt 
    388381      ENDIF 
    389382      ! 
Note: See TracChangeset for help on using the changeset viewer.