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 879 for branches – NEMO

Changeset 879 for branches


Ignore:
Timestamp:
2008-04-04T17:00:05+02:00 (16 years ago)
Author:
ctlod
Message:

dev_001_SBC: clean & add control prints, see ticket:#104

Location:
branches/dev_001_SBC/NEMO
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_001_SBC/NEMO/LIM_SRC/limdyn.F90

    r717 r879  
    5151      !!               ***  ROUTINE lim_dyn  *** 
    5252      !!                
    53       !! ** Purpose :   compute ice velocity and ocean-ice stress 
     53      !! ** Purpose :   compute ice velocity and ocean-ice friction velocity 
    5454      !!                 
    5555      !! ** Method  :  
     
    5757      !! ** Action  : - Initialisation 
    5858      !!              - Call of the dynamic routine for each hemisphere 
    59       !!              - computation of the stress at the ocean surface          
     59      !!              - computation of the friction velocity at the sea-ice base 
    6060      !!              - treatment of the case if no ice dynamic 
    6161      !!--------------------------------------------------------------------- 
     
    6868      REAL(wp), DIMENSION(jpj)     ::   zmsk           ! i-averaged of tmask 
    6969      REAL(wp), DIMENSION(jpi,jpj) ::   zu_io, zv_io   ! ice-ocean velocity 
    70 !!$      INTEGER ::   ji, jj             ! dummy loop indices 
    71 !!$      INTEGER ::   i_j1, i_jpj        ! Starting/ending j-indices for rheology 
    72 !!$      REAL(wp) ::   & 
    73 !!$         ztairx, ztairy,           &  ! tempory scalars 
    74 !!$         zsang , zrhomod,             & 
    75 !!$         ztglx , ztgly ,           & 
    76 !!$         zt11, zt12, zt21, zt22 ,  & 
    77 !!$         zustm, zsfrld, zsfrldm4,  & 
    78 !!$         zu_ice, zv_ice, ztair2 
    79 !!$      REAL(wp),DIMENSION(jpi,jpj) ::   zmod 
    80 !!$      REAL(wp),DIMENSION(jpj) ::   & 
    81 !!$         zind,                     &  ! i-averaged indicator of sea-ice 
    82 !!$         zmsk                         ! i-averaged of tmask 
    8370      !!--------------------------------------------------------------------- 
    8471 
     
    8673       
    8774      IF( ln_limdyn ) THEN 
    88  
     75         ! 
    8976         ! Mean ice and snow thicknesses.           
    9077         hsnm(:,:)  = ( 1.0 - frld(:,:) ) * hsnif(:,:) 
    9178         hicm(:,:)  = ( 1.0 - frld(:,:) ) * hicif(:,:) 
    92  
    93          !                                         ! Rheology (ice dynamics) 
    94          !                                         ! ======== 
     79         ! 
     80         !                                     ! Rheology (ice dynamics) 
     81         !                                     ! ======== 
    9582          
    9683         !  Define the j-limits where ice rheology is computed 
     
    10289            IF(ln_ctl)   CALL prt_ctl_info( 'lim_dyn  :    i_j1 = ', ivar1=i_j1, clinfo2=' ij_jpj = ', ivar2=i_jpj ) 
    10390            CALL lim_rhg( i_j1, i_jpj ) 
    104  
     91            ! 
    10592         ELSE                                 ! optimization of the computational area 
    106  
     93            ! 
    10794            DO jj = 1, jpj 
    10895               zind(jj) = SUM( frld (:,jj  ) )   ! = FLOAT(jpj) if ocean everywhere on a j-line 
    10996               zmsk(jj) = SUM( tmask(:,jj,1) )   ! = 0          if land  everywhere on a j-line 
    11097            END DO 
    111  
     98            ! 
    11299            IF( l_jeq ) THEN                     ! local domain include both hemisphere 
    113100               !                                 ! Rheology is computed in each hemisphere 
     
    121108               i_j1 = MAX( 1, i_j1-1 ) 
    122109               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : NH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    123      
     110               !  
    124111               CALL lim_rhg( i_j1, i_jpj ) 
    125      
     112               !  
    126113               ! Southern hemisphere 
    127114               i_j1  =  1  
     
    132119               i_jpj = MIN( jpj, i_jpj+2 ) 
    133120               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : SH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    134      
     121               !  
    135122               CALL lim_rhg( i_j1, i_jpj ) 
    136      
     123               !  
    137124            ELSE                                 ! local domain extends over one hemisphere only 
    138125               !                                 ! Rheology is computed only over the ice cover 
     
    151138     
    152139               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : one hemisphere: i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    153      
     140               !  
    154141               CALL lim_rhg( i_j1, i_jpj ) 
    155  
     142               ! 
    156143            ENDIF 
    157  
     144            ! 
    158145         ENDIF 
    159146 
    160147         IF(ln_ctl)   CALL prt_ctl(tab2d_1=ui_ice , clinfo1=' lim_dyn  : ui_ice :', tab2d_2=vi_ice , clinfo2=' vi_ice :') 
    161148          
    162 !!$         !                                         ! Ice-Ocean stress 
    163 !!$         !                                         ! ================         
    164 !!$         DO jj = 1, jpj 
    165 !!$            DO ji = 1, jpi 
    166 !!$!!              zsang  = SIGN(1.e0, gphif(ji-1,jj-1) ) * sangvg    ! do the full loop and avoid lbc_lnk 
    167 !!$               zsang  = SIGN(1.e0, gphif(ji,jj) ) * sangvg 
    168 !!$               zu_ice   = u_ice(ji,jj) - u_io(ji,jj) 
    169 !!$               zv_ice   = v_ice(ji,jj) - v_io(ji,jj) 
    170 !!$               zrhomod  = zu_ice * zu_ice + zv_ice * zv_ice  
    171 !!$               zmod (ji,jj) = zrhomod  
    172 !!$               zrhomod  = rhoco * SQRT( zrhomod )  
    173 !!$               ftaux(ji,jj) = zrhomod * ( cangvg * zu_ice - zsang * zv_ice )  
    174 !!$               ftauy(ji,jj) = zrhomod * ( cangvg * zv_ice + zsang * zu_ice )  
    175 !!$            END DO 
    176 !!$         END DO 
    177  
    178149         ! computation of friction velocity 
    179150         ! -------------------------------- 
     
    194165            END DO 
    195166         END DO 
    196 !!$         DO jj = 2, jpjm1 
    197 !!$            DO ji = fs_2, fs_jpim1     ! vector opt. 
    198 !!$               ust2s(ji,jj) = 0.25 * cw * ( zmod(ji,jj+1) + zmod(ji+1,jj+1) +    & 
    199 !!$                  &                         zmod(ji,jj  ) + zmod(ji+1,jj  ) ) * tms(ji,jj) 
    200 !!$            END DO 
    201 !!$         END DO 
    202167         ! 
    203168      ELSE      ! no ice dynamics : transmit directly the atmospheric stress to the ocean 
     
    212177         ! 
    213178      ENDIF 
    214  
     179      ! 
    215180      CALL lbc_lnk( ust2s, 'T',  1. )   ! T-point 
    216  
     181      ! 
    217182      IF(ln_ctl)   CALL prt_ctl(tab2d_1=ust2s , clinfo1=' lim_dyn  : ust2s :') 
    218183 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limrhg.F90

    r717 r879  
    147147            zi1(ji,jj)    = tms(ji,jj) * ( 1.0 - frld(ji,jj) ) 
    148148            zi2(ji,jj)    = tms(ji,jj) * ( 1.0 - frld(ji,jj) ) 
    149  
    150 !!gm   #if defined key_lim_cp1 && defined key_coupled 
    151 !!gm        zi1(ji,jj)    = tms(ji,jj) * gtaux(ji,jj) * ( 1.0 - frld(ji,jj) ) 
    152 !!gm        zi2(ji,jj)    = tms(ji,jj) * gtauy(ji,jj) * ( 1.0 - frld(ji,jj) ) 
    153 !!gm   #else 
    154 !!gm        zi1(ji,jj)    = tms(ji,jj) * ( 1.0 - frld(ji,jj) ) 
    155 !!gm        zi2(ji,jj)    = tms(ji,jj) * ( 1.0 - frld(ji,jj) ) 
    156 !!gm   #endif 
    157149         END DO 
    158150      END DO 
     
    185177 
    186178            ! Wind stress. 
    187 !!gm   #if defined key_lim_cp1 && defined key_coupled 
    188 !!gm   ztagnx = ( zi1(ji,jj  ) * wght(ji,jj,2,2) + zi1(ji-1,jj  ) * wght(ji,jj,1,2)   & 
    189 !!gm      &     + zi1(ji,jj-1) * wght(ji,jj,2,1) + zi1(ji-1,jj-1) * wght(ji,jj,1,1) ) * zusw 
    190 !!gm   ztagny = ( zi2(ji,jj  ) * wght(ji,jj,2,2) + zi2(ji-1,jj  ) * wght(ji,jj,1,2)   & 
    191 !!gm      &     + zi2(ji,jj-1) * wght(ji,jj,2,1) + zi2(ji-1,jj-1) * wght(ji,jj,1,1) ) * zusw 
    192 !!gm   #else 
    193 !!gm   ztagnx = ( zi1(ji,jj  ) * wght(ji,jj,2,2) + zi1(ji-1,jj  ) * wght(ji,jj,1,2)   & 
    194 !!gm      &     + zi1(ji,jj-1) * wght(ji,jj,2,1) + zi1(ji-1,jj-1) * wght(ji,jj,1,1) ) * zusw * gtaux(ji,jj) 
    195 !!gm   ztagny = ( zi2(ji,jj  ) * wght(ji,jj,2,2) + zi2(ji-1,jj  ) * wght(ji,jj,1,2)   & 
    196 !!gm      &     + zi2(ji,jj-1) * wght(ji,jj,2,1) + zi2(ji-1,jj-1) * wght(ji,jj,1,1) ) * zusw * gtauy(ji,jj) 
    197 !!gm   #endif 
    198             !!gm  always stress provided at I-point (ocean F-point) 
     179            ! always provide stress at I-point (ocean F-point) 
    199180            ztagnx = ( zi1(ji,jj  ) * wght(ji,jj,2,2) + zi1(ji-1,jj  ) * wght(ji,jj,1,2)   & 
    200181               &     + zi1(ji,jj-1) * wght(ji,jj,2,1) + zi1(ji-1,jj-1) * wght(ji,jj,1,1) ) * zusw * utaui_ice(ji,jj) 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limthd.F90

    r755 r879  
    184184            !  temperature and turbulent mixing (McPhee, 1992) 
    185185            zfric_u        = MAX ( MIN( SQRT( ust2s(ji,jj) ) , zfric_umax ) , zfric_umin )  ! friction velocity 
    186 !!gm old    fdtcn(ji,jj)  = zindb * rau0 * rcp * 0.006  * zfric_u * ( sst_io(ji,jj) - tfu(ji,jj) )  
    187186            fdtcn(ji,jj)  = zindb * rau0 * rcp * 0.006  * zfric_u * ( sst_m(ji,jj) - tfu(ji,jj) )  
    188187            qdtcn(ji,jj)  = zindb * fdtcn(ji,jj) * frld(ji,jj) * rdt_ice 
     
    203202             
    204203            !  energy needed to bring ocean surface layer until its freezing 
    205 !!gm old    qcmif  (ji,jj) =  rau0 * rcp * fse3t(ji,jj,1) * ( tfu(ji,jj) - sst_io(ji,jj) ) * ( 1 - zinda ) 
    206204            qcmif  (ji,jj) =  rau0 * rcp * fse3t(ji,jj,1) * ( tfu(ji,jj) - sst_m(ji,jj) ) * ( 1 - zinda ) 
    207205             
  • branches/dev_001_SBC/NEMO/LIM_SRC/limwri.F90

    r805 r879  
    148148            zcmo(ji,jj,9)  = sst_m(ji,jj) 
    149149            zcmo(ji,jj,10) = sss_m(ji,jj) 
    150  
    151 !!gm        zcmo(ji,jj,11) = fnsolar(ji,jj) + fsolar(ji,jj) 
    152 !!gm        zcmo(ji,jj,12) = fsolar (ji,jj) 
    153 !!gm        zcmo(ji,jj,13) = fnsolar(ji,jj) 
    154150            zcmo(ji,jj,11) = qns(ji,jj) + qsr(ji,jj) 
    155151            zcmo(ji,jj,12) = qsr(ji,jj) 
    156152            zcmo(ji,jj,13) = qns(ji,jj) 
    157153            ! See thersf for the coefficient 
    158 !!gm        zcmo(ji,jj,14) = - fsalt(ji,jj) * rday * ( sss_m(ji,jj) + epsi16 ) / soce 
    159154            zcmo(ji,jj,14) = - emps(ji,jj) * rday * ( sss_m(ji,jj) + epsi16 ) / soce    !!gm ??? 
    160155            zcmo(ji,jj,15) = utaui_ice(ji,jj) 
    161156            zcmo(ji,jj,16) = vtaui_ice(ji,jj) 
    162             zcmo(ji,jj,17) = ( 1.0 - frld(ji,jj) ) * qsr_ice(ji,jj) + frld(ji,jj) * qsr(ji,jj)   !!gm a revoir 
    163             zcmo(ji,jj,18) = ( 1.0 - frld(ji,jj) ) * qns_ice(ji,jj) + frld(ji,jj) * qns(ji,jj)   !!gm a revoir 
     157            zcmo(ji,jj,17) = qsr_ice(ji,jj) 
     158            zcmo(ji,jj,18) = qns_ice(ji,jj) 
    164159            zcmo(ji,jj,19) = sprecip(ji,jj) 
    165160         END DO 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limwri_dimg.h90

    r717 r879  
    113113             &                      + vi_ice(ji,jj+1) * tmu(ji,jj+1) + vi_ice(ji+1,jj+1) * tmu(ji+1,jj+1) ) & 
    114114               / ztmu 
    115           zcmo(ji,jj,9)  = sst_io(ji,jj) 
    116           zcmo(ji,jj,10) = sss_io(ji,jj) 
    117  
    118           zcmo(ji,jj,11) = fnsolar(ji,jj) + fsolar(ji,jj) 
    119           zcmo(ji,jj,12) = fsolar (ji,jj) 
    120           zcmo(ji,jj,13) = fnsolar(ji,jj) 
     115          zcmo(ji,jj,9)  = sst_m(ji,jj) 
     116          zcmo(ji,jj,10) = sss_m(ji,jj) 
     117 
     118          zcmo(ji,jj,11) = qns(ji,jj) + qsr(ji,jj) 
     119          zcmo(ji,jj,12) = qsr(ji,jj) 
     120          zcmo(ji,jj,13) = qns(ji,jj) 
    121121          ! See thersf for the coefficient 
    122           zcmo(ji,jj,14) = - fsalt(ji,jj) * rday * ( sss_io(ji,jj) + epsi16 ) / soce 
    123           zcmo(ji,jj,15) = gtaux(ji,jj) 
    124           zcmo(ji,jj,16) = gtauy(ji,jj) 
    125           zcmo(ji,jj,17) = ( 1.0 - frld(ji,jj) ) * qsr_ice (ji,jj) + frld(ji,jj) * qsr_oce (ji,jj) 
    126           zcmo(ji,jj,18) = ( 1.0 - frld(ji,jj) ) * qnsr_ice(ji,jj) + frld(ji,jj) * qnsr_oce(ji,jj) 
     122          zcmo(ji,jj,14) = - emps(ji,jj) * rday * ( sss_m(ji,jj) + epsi16 ) / soce 
     123          zcmo(ji,jj,15) = utaui_ice(ji,jj) 
     124          zcmo(ji,jj,16) = vtaui_ice(ji,jj) 
     125          zcmo(ji,jj,17) = qsr_ice (ji,jj) 
     126          zcmo(ji,jj,18) = qnsr_ice(ji,jj) 
    127127          zcmo(ji,jj,19) = sprecip(ji,jj) 
    128128       END DO 
     
    156156                   &                       + vi_ice(ji,jj+1) * tmu(ji,jj+1) + vi_ice(ji+1,jj+1) * tmu(ji+1,jj+1) ) & 
    157157                     / ztmu 
    158                 rcmoy(ji,jj,9)  = sst_io(ji,jj) 
    159                 rcmoy(ji,jj,10) = sss_io(ji,jj) 
    160  
    161                 rcmoy(ji,jj,11) = fnsolar(ji,jj) + fsolar(ji,jj) 
    162                 rcmoy(ji,jj,12) = fsolar (ji,jj) 
    163                 rcmoy(ji,jj,13) = fnsolar(ji,jj) 
     158                rcmoy(ji,jj,9)  = sst_m(ji,jj) 
     159                rcmoy(ji,jj,10) = sss_m(ji,jj) 
     160 
     161                rcmoy(ji,jj,11) = qns(ji,jj) + qsr(ji,jj) 
     162                rcmoy(ji,jj,12) = qsr(ji,jj) 
     163                rcmoy(ji,jj,13) = qns(ji,jj) 
    164164                ! See thersf for the coefficient 
    165                 rcmoy(ji,jj,14) = - fsalt(ji,jj) * rday * ( sss_io(ji,jj) + epsi16 ) / soce 
    166                 rcmoy(ji,jj,15) = gtaux(ji,jj) 
    167                 rcmoy(ji,jj,16) = gtauy(ji,jj) 
    168                 rcmoy(ji,jj,17) = ( 1.0 - frld(ji,jj) ) * qsr_ice (ji,jj) + frld(ji,jj) * qsr_oce (ji,jj) 
    169                 rcmoy(ji,jj,18) = ( 1.0 - frld(ji,jj) ) * qnsr_ice(ji,jj) + frld(ji,jj) * qnsr_oce(ji,jj) 
     165                rcmoy(ji,jj,14) = - emps(ji,jj) * rday * ( sss_m(ji,jj) + epsi16 ) / soce 
     166                rcmoy(ji,jj,15) = utaui_ice(ji,jj) 
     167                rcmoy(ji,jj,16) = vtaui_ice(ji,jj) 
     168                rcmoy(ji,jj,17) = qsr_ice (ji,jj) 
     169                rcmoy(ji,jj,18) = qnsr_ice(ji,jj) 
    170170                rcmoy(ji,jj,19) = sprecip(ji,jj) 
    171171             END DO 
  • branches/dev_001_SBC/NEMO/OPA_SRC/SBC/sbcblk_clio.F90

    r871 r879  
    270270      REAL(wp) ::   zdtetar, ztvmoyr, zlxins, zchcm, zclcm      !    -         - 
    271271      REAL(wp) ::   zmt1, zmt2, zmt3, ztatm3, ztamr, ztaevbk    !    -         - 
    272       REAL(wp) ::   zcoef, zsst, ztatm, zcco1, zpatm            !    -         - 
     272      REAL(wp) ::   zsst, ztatm, zcco1, zpatm                   !    -         - 
    273273      REAL(wp) ::   zrhoa, zev, zes, zeso, zqatm, zevsqr        !    -         - 
    274274      !! 
     
    283283      !   momentum fluxes  (utau, vtau )   ! 
    284284      !------------------------------------! 
    285  
    286       ! Change from wind speed to wind stress over OCEAN (cao is used) 
    287       ! note: 1.3 = air density) 
    288 !!gm  the module is wrong as U and V points are not the same 
    289 !!gm  the surface currents are not taken into account... 
    290285!CDIR COLLAPSE 
    291286      DO jj = 1 , jpj 
     
    295290         END DO 
    296291      END DO 
    297 !!gm  better coding:  use the wind module and averaging to U and V points 
    298 !     zcoef = 1.3 * cao * 0.5 
    299 !     DO jj = 1 , jpjm1 
    300 !        DO ji = 1, fs_jpim1 
    301 !           utau(ji,jj) = zcoef * ( sf(jp_wndm)%fnow(ji+1,jj) + sf(jp_wndm)%fnow(ji,jj) ) * sf(jp_wndi)%fnow(ji,jj) 
    302 !           vtau(ji,jj) = zcoef * ( sf(jp_wndm)%fnow(ji,jj+1) + sf(jp_wndm)%fnow(ji,jj) ) * sf(jp_wndj)%fnow(ji,jj) 
    303 !          END DO 
    304 !       END DO 
    305 !      CALL lbc_lnk( utau(:,:), 'U', -1. ) 
    306 !      CALL lbc_lnk( vtau(:,:), 'V', -1. ) 
    307 !!gm end coding 
    308  
    309        
     292 
    310293      !------------------------------------------------! 
    311294      !   Shortwave radiation for ocean and snow/ice   ! 
     
    413396      emps(:,:) = emp(:,:) 
    414397      ! 
     398      IF(ln_ctl) THEN 
     399         CALL prt_ctl(tab2d_1=zqsb , clinfo1=' blk_oce_clio: zqsb   : ', tab2d_2=zqlw , clinfo2=' zqlw  : ') 
     400         CALL prt_ctl(tab2d_1=zqla , clinfo1=' blk_oce_clio: zqla   : ', tab2d_2=qsr  , clinfo2=' qsr   : ') 
     401         CALL prt_ctl(tab2d_1=pst  , clinfo1=' blk_oce_clio: pst    : ', tab2d_2=emp  , clinfo2=' emp   : ') 
     402         CALL prt_ctl(tab2d_1=utau , clinfo1=' blk_oce_clio: utau   : ', mask1=umask,   & 
     403            &         tab2d_2=vtau , clinfo2=' vtau : ', mask2=vmask ) 
     404      ENDIF 
     405 
    415406   END SUBROUTINE blk_oce_clio 
    416407 
     
    496487      CASE( 'B' )                          ! B-grid ice dynamics 
    497488         ! stress from ocean U- and V-points to ice U,V point 
    498          zcoef = cai / cao * 0.5 
    499489!CDIR COLLAPSE 
    500490         DO jj = 2, jpj 
     
    644634      END DO 
    645635 
     636      IF(ln_ctl) THEN 
     637         CALL prt_ctl(tab2d_1=z_qsb(:,:,jpl) , clinfo1=' blk_ice_clio: z_qsb   : ', tab2d_2=z_qlw(:,:,jpl), clinfo2=' z_qlw  : ') 
     638         CALL prt_ctl(tab2d_1=p_qla(:,:,jpl) , clinfo1=' blk_ice_clio: z_qla   : ', tab2d_2=p_qsr(:,:,jpl), clinfo2=' p_qsr  : ') 
     639         CALL prt_ctl(tab2d_1=p_tpr(:,:,jpl) , clinfo1=' blk_ice_clio: p_tpr   : ', tab2d_2=p_spr         , clinfo2=' p_spr  : ') 
     640         CALL prt_ctl(tab2d_1=p_taui         , clinfo1=' blk_ice_clio: p_taui  : ', tab2d_2=p_tauj        , clinfo2=' p_tauj : ') 
     641         CALL prt_ctl(tab2d_1=pst(:,:,jpl)   , clinfo2=' blk_ice_clio: pst     : ') 
     642      ENDIF 
     643 
     644 
    646645   END SUBROUTINE blk_ice_clio 
    647646 
  • branches/dev_001_SBC/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r875 r879  
    3131   USE lib_mpp         ! distribued memory computing library 
    3232   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
     33   USE prtctl          ! Print control 
    3334 
    3435   IMPLICIT NONE 
     
    324325!CDIR COLLAPSE 
    325326      zqla (:,:) = Lv * zevap(:,:)                                                              ! Latent Heat 
     327 
     328      IF(ln_ctl) THEN 
     329         CALL prt_ctl( tab2d_1=zqla   , clinfo1=' blk_oce_core: zqla   : ', tab2d_2=Ce , clinfo2=' Ce  : ' ) 
     330         CALL prt_ctl( tab2d_1=zqsb   , clinfo1=' blk_oce_core: zqsb   : ', tab2d_2=Ch , clinfo2=' Ch  : ' ) 
     331         CALL prt_ctl( tab2d_1=zqlw   , clinfo1=' blk_oce_core: zqlw   : ', tab2d_2=qsr, clinfo2=' qsr : ' ) 
     332         CALL prt_ctl( tab2d_1=zqsatw , clinfo1=' blk_oce_core: zqsatw : ', tab2d_2=zst, clinfo2=' zst : ' ) 
     333         CALL prt_ctl( tab2d_1=utau   , clinfo1=' blk_oce_core: utau   : ', mask1=umask,   & 
     334            &          tab2d_2=vtau   , clinfo2=' vtau : ', mask2=vmask ) 
     335         CALL prt_ctl( tab2d_1=zwind_speed_t, clinfo1=' blk_oce_core: zwind_speed_t : ') 
     336      ENDIF 
    326337        
    327338      ! ----------------------------------------------------------------------------- ! 
     
    490501      p_spr(:,:) = sf(jp_snow)%fnow(:,:) * alpha_precip      ! solid precipitation [kg/m2/s] 
    491502      ! 
     503      IF(ln_ctl) THEN 
     504         CALL prt_ctl(tab2d_1=p_qla   , clinfo1=' blk_ice_core: p_qla  : ', tab2d_2=z_qsb   , clinfo2=' z_qsb    : ') 
     505         CALL prt_ctl(tab2d_1=z_qlw   , clinfo1=' blk_ice_core: z_qlw  : ', tab2d_2=p_dqla  , clinfo2=' p_dqla   : ') 
     506         CALL prt_ctl(tab2d_1=z_dqsb  , clinfo1=' blk_ice_core: z_dqsb : ', tab2d_2=z_dqlw  , clinfo2=' z_dqlw   : ') 
     507         CALL prt_ctl(tab2d_1=p_tpr   , clinfo1=' blk_ice_core: p_tpr  : ', tab2d_2=p_spr   , clinfo2=' p_spr    : ') 
     508         CALL prt_ctl(tab2d_1=p_dqns  , clinfo1=' blk_ice_core: p_dqns : ', tab2d_2=z_wnds_t, clinfo2=' z_wnds_t : ') 
     509         CALL prt_ctl(tab2d_1=p_taui  , clinfo1=' blk_ice_core: p_taui : ', tab2d_2=p_tauj  , clinfo2=' p_tauj   : ') 
     510      ENDIF 
     511 
    492512   END SUBROUTINE blk_ice_core 
    493513   
  • branches/dev_001_SBC/NEMO/OPA_SRC/SBC/sbcfwb.F90

    r702 r879  
    4545CONTAINS 
    4646 
    47    SUBROUTINE sbc_fwb( kt, kn_fsbc, kn_fwb ) 
     47   SUBROUTINE sbc_fwb( kt, kn_fwb, kn_fsbc ) 
    4848      !!--------------------------------------------------------------------- 
    4949      !!                  ***  ROUTINE sbc_fwb  *** 
     
    7676            IF( kn_fwb == 2 )   WRITE(numout,*) '          adjusted from previous year budget' 
    7777         ENDIF 
    78  
     78         ! 
    7979         e1e2_i(:,:) = e1t(:,:) * e2t(:,:) * tmask_i(:,:) 
    8080         area = SUM( e1e2_i(:,:) ) 
     
    8686      SELECT CASE ( kn_fwb ) 
    8787      ! 
    88       CASE ( 1 )      ! global mean emp set to zero 
    89       IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN 
    90          z_emp = SUM( e1e2_i(:,:) * emp(:,:) ) / area 
    91          IF( lk_mpp )   CALL  mpp_sum( z_emp    )   ! sum over the global domain 
    92          emp (:,:) = emp (:,:) - z_emp 
    93          emps(:,:) = emps(:,:) - z_emp 
    94       ENDIF 
    95       ! 
    96       CASE ( 2 )      ! emp budget adjusted from the previous year 
     88      CASE ( 1 )                               ! global mean emp set to zero 
     89         IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN 
     90            z_emp = SUM( e1e2_i(:,:) * emp(:,:) ) / area 
     91            IF( lk_mpp )   CALL  mpp_sum( z_emp    )   ! sum over the global domain 
     92            emp (:,:) = emp (:,:) - z_emp 
     93            emps(:,:) = emps(:,:) - z_emp 
     94         ENDIF 
     95         ! 
     96      CASE ( 2 )                               ! emp budget adjusted from the previous year 
    9797         ! initialisation 
    9898         IF( kt == nit000 ) THEN 
     
    114114            ENDIF 
    115115         ENDIF 
    116    
     116         !  
    117117         ! Update empold if new year start 
    118118         ikty = 365 * 86400 / rdttra(1)    !!bug  use of 365 days leap year or 360d year !!!!!!! 
     
    126126            !                               ! estimate from the previous year budget 
    127127         ENDIF 
    128     
     128         !  
    129129         ! correct the freshwater fluxes 
    130130         IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN 
     
    132132            emps(:,:) = emps(:,:) - empold 
    133133         ENDIF 
    134  
     134         ! 
    135135         ! save empold value in a file 
    136136         IF( kt == nitend ) THEN 
     
    140140         ! 
    141141      CASE DEFAULT    ! you should never be there 
    142          !!gm  add a print error 
     142         WRITE(ctmp1,*)'sbc_fwb : nn_fwb = ', kn_fwb, ' is not permitted for the FreshWater Budget correction, choose either 0/1/2' 
     143         CALL ctl_stop( ctmp1 ) 
    143144         ! 
    144145      END SELECT 
  • branches/dev_001_SBC/NEMO/OPA_SRC/SBC/sbcmod.F90

    r813 r879  
    4444    
    4545   !! * namsbc namelist (public variables) 
    46 !!gm defined in sbc_oce   INTEGER , PUBLIC ::   nn_fsbc                 !: frequency of surface boundary condition computation 
    4746   LOGICAL , PUBLIC ::   ln_ana      = .FALSE.   !: analytical boundary condition flag 
    4847   LOGICAL , PUBLIC ::   ln_flx      = .FALSE.   !: flux      formulation 
  • branches/dev_001_SBC/NEMO/OPA_SRC/step.F90

    r811 r879  
    170170      indic = 1                    ! reset to no error condition 
    171171 
    172 !!gm: attention n'est plus ds le step de gm 
    173       adatrj = adatrj + rdt/86400._wp 
    174 !!gm: attention n'est plus ds le step de gm 
    175  
    176172      CALL day( kstp )             ! Calendar 
    177173 
Note: See TracChangeset for help on using the changeset viewer.