Changeset 10213


Ignore:
Timestamp:
2018-10-23T16:40:09+02:00 (19 months ago)
Author:
aumont
Message:

corrects bugs described in Tickets 2144 and 2145

Location:
NEMO/trunk/src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DOM/domvvl.F90

    r10068 r10213  
    234234               END DO 
    235235            END DO 
    236             IF( cn_cfg == "orca" .AND. nn_cfg == 3 ) THEN   ! ORCA2: Suppress ztilde in the Foxe Basin for ORCA2 
    237                ii0 = 103   ;   ii1 = 111        
    238                ij0 = 128   ;   ij1 = 135   ;    
    239                frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  0.0_wp 
    240                frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rdt 
     236            IF( cn_cfg == "orca" .OR. cn_cfg == "ORCA" ) THEN 
     237               IF( nn_cfg == 3 ) THEN   ! ORCA2: Suppress ztilde in the Foxe Basin for ORCA2 
     238                  ii0 = 103   ;   ii1 = 111        
     239                  ij0 = 128   ;   ij1 = 135   ;    
     240                  frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  0.0_wp 
     241                  frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rdt 
     242               ENDIF 
    241243            ENDIF 
    242244         ENDIF 
  • NEMO/trunk/src/OCE/DOM/dtatsd.F90

    r10068 r10213  
    150150      ! 
    151151      !                                   !==   ORCA_R2 configuration and T & S damping   ==!  
    152       IF( cn_cfg == "orca" .AND. nn_cfg == 2 .AND. ln_tsd_dmp ) THEN    ! some hand made alterations 
    153          ! 
    154          ij0 = 101   ;   ij1 = 109                       ! Reduced T & S in the Alboran Sea 
    155          ii0 = 141   ;   ii1 = 155 
    156          DO jj = mj0(ij0), mj1(ij1) 
    157             DO ji = mi0(ii0), mi1(ii1) 
    158                sf_tsd(jp_tem)%fnow(ji,jj,13:13) = sf_tsd(jp_tem)%fnow(ji,jj,13:13) - 0.20_wp 
    159                sf_tsd(jp_tem)%fnow(ji,jj,14:15) = sf_tsd(jp_tem)%fnow(ji,jj,14:15) - 0.35_wp 
    160                sf_tsd(jp_tem)%fnow(ji,jj,16:25) = sf_tsd(jp_tem)%fnow(ji,jj,16:25) - 0.40_wp 
    161                ! 
    162                sf_tsd(jp_sal)%fnow(ji,jj,13:13) = sf_tsd(jp_sal)%fnow(ji,jj,13:13) - 0.15_wp 
    163                sf_tsd(jp_sal)%fnow(ji,jj,14:15) = sf_tsd(jp_sal)%fnow(ji,jj,14:15) - 0.25_wp 
    164                sf_tsd(jp_sal)%fnow(ji,jj,16:17) = sf_tsd(jp_sal)%fnow(ji,jj,16:17) - 0.30_wp 
    165                sf_tsd(jp_sal)%fnow(ji,jj,18:25) = sf_tsd(jp_sal)%fnow(ji,jj,18:25) - 0.35_wp 
     152      IF( cn_cfg == "orca" .OR. cn_cfg == "ORCA" ) THEN 
     153         IF( nn_cfg == 2 .AND. ln_tsd_dmp ) THEN    ! some hand made alterations 
     154            ! 
     155            ij0 = 101   ;   ij1 = 109                       ! Reduced T & S in the Alboran Sea 
     156            ii0 = 141   ;   ii1 = 155 
     157            DO jj = mj0(ij0), mj1(ij1) 
     158               DO ji = mi0(ii0), mi1(ii1) 
     159                  sf_tsd(jp_tem)%fnow(ji,jj,13:13) = sf_tsd(jp_tem)%fnow(ji,jj,13:13) - 0.20_wp 
     160                  sf_tsd(jp_tem)%fnow(ji,jj,14:15) = sf_tsd(jp_tem)%fnow(ji,jj,14:15) - 0.35_wp 
     161                  sf_tsd(jp_tem)%fnow(ji,jj,16:25) = sf_tsd(jp_tem)%fnow(ji,jj,16:25) - 0.40_wp 
     162                  ! 
     163                  sf_tsd(jp_sal)%fnow(ji,jj,13:13) = sf_tsd(jp_sal)%fnow(ji,jj,13:13) - 0.15_wp 
     164                  sf_tsd(jp_sal)%fnow(ji,jj,14:15) = sf_tsd(jp_sal)%fnow(ji,jj,14:15) - 0.25_wp 
     165                  sf_tsd(jp_sal)%fnow(ji,jj,16:17) = sf_tsd(jp_sal)%fnow(ji,jj,16:17) - 0.30_wp 
     166                  sf_tsd(jp_sal)%fnow(ji,jj,18:25) = sf_tsd(jp_sal)%fnow(ji,jj,18:25) - 0.35_wp 
     167               END DO 
    166168            END DO 
    167          END DO 
    168          ij0 =  87   ;   ij1 =  96                          ! Reduced temperature in Red Sea 
    169          ii0 = 148   ;   ii1 = 160 
    170          sf_tsd(jp_tem)%fnow( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ,  4:10 ) = 7.0_wp 
    171          sf_tsd(jp_tem)%fnow( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 11:13 ) = 6.5_wp 
    172          sf_tsd(jp_tem)%fnow( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 14:20 ) = 6.0_wp 
     169            ij0 =  87   ;   ij1 =  96                          ! Reduced temperature in Red Sea 
     170            ii0 = 148   ;   ii1 = 160 
     171            sf_tsd(jp_tem)%fnow( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ,  4:10 ) = 7.0_wp 
     172            sf_tsd(jp_tem)%fnow( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 11:13 ) = 6.5_wp 
     173            sf_tsd(jp_tem)%fnow( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 14:20 ) = 6.0_wp 
     174         ENDIF 
    173175      ENDIF 
    174176!!gm end 
  • NEMO/trunk/src/OCE/TRA/trazdf.F90

    r10068 r10213  
    184184                     zws(ji,jj,jk) = - p2dt * zwt(ji,jj,jk+1) / e3w_n(ji,jj,jk+1) 
    185185                     zwd(ji,jj,jk) = e3t_a(ji,jj,jk) - zwi(ji,jj,jk) - zws(ji,jj,jk) 
     186                     IF (mig(ji) == 72 .and. mjg(jj) == 74 ) THEN 
     187                       write(0,*) 'plante zdf2 ',jk,avt(ji,jj,jk),avs(ji,jj,jk) 
     188                     ENDIF 
    186189                 END DO 
    187190               END DO 
  • NEMO/trunk/src/OFF/dtadyn.F90

    r10068 r10213  
    164164      hmld(:,:)       = sf_dyn(jf_mld)%fnow(:,:,1) * tmask(:,:,1)    ! mixed layer depht 
    165165      avt(:,:,:)      = sf_dyn(jf_avt)%fnow(:,:,:) * tmask(:,:,:)    ! vertical diffusive coefficient  
     166      avs(:,:,:)      = avt(:,:,:) 
    166167      ! 
    167168      IF( ln_trabbl .AND. .NOT.lk_c1d ) THEN       ! diffusive Bottom boundary layer param  
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zsms.F90

    r10069 r10213  
    352352      IF(lwp)  WRITE(numout,*) 
    353353 
    354       IF( cn_cfg == "orca" .AND. .NOT. lk_c1d ) THEN      ! ORCA configuration (not 1D) ! 
    355          !                                                ! --------------------------- ! 
    356          ! set total alkalinity, phosphate, nitrate & silicate 
    357          zarea          = 1._wp / glob_sum( cvol(:,:,:) ) * 1e6               
    358  
    359          zalksumn = glob_sum( trn(:,:,:,jptal) * cvol(:,:,:)  ) * zarea 
    360          zpo4sumn = glob_sum( trn(:,:,:,jppo4) * cvol(:,:,:)  ) * zarea * po4r 
    361          zno3sumn = glob_sum( trn(:,:,:,jpno3) * cvol(:,:,:)  ) * zarea * rno3 
    362          zsilsumn = glob_sum( trn(:,:,:,jpsil) * cvol(:,:,:)  ) * zarea 
     354      IF( cn_cfg == "ORCA" .OR. cn_cfg == "orca" ) THEN 
     355         IF( .NOT. lk_c1d ) THEN      ! ORCA configuration (not 1D) ! 
     356            !                                                ! --------------------------- ! 
     357            ! set total alkalinity, phosphate, nitrate & silicate 
     358            zarea          = 1._wp / glob_sum( cvol(:,:,:) ) * 1e6               
     359 
     360            zalksumn = glob_sum( trn(:,:,:,jptal) * cvol(:,:,:)  ) * zarea 
     361            zpo4sumn = glob_sum( trn(:,:,:,jppo4) * cvol(:,:,:)  ) * zarea * po4r 
     362            zno3sumn = glob_sum( trn(:,:,:,jpno3) * cvol(:,:,:)  ) * zarea * rno3 
     363            zsilsumn = glob_sum( trn(:,:,:,jpsil) * cvol(:,:,:)  ) * zarea 
    363364  
    364          IF(lwp) WRITE(numout,*) '       TALKN mean : ', zalksumn 
    365          trn(:,:,:,jptal) = trn(:,:,:,jptal) * alkmean / zalksumn 
    366  
    367          IF(lwp) WRITE(numout,*) '       PO4N  mean : ', zpo4sumn 
    368          trn(:,:,:,jppo4) = trn(:,:,:,jppo4) * po4mean / zpo4sumn 
    369  
    370          IF(lwp) WRITE(numout,*) '       NO3N  mean : ', zno3sumn 
    371          trn(:,:,:,jpno3) = trn(:,:,:,jpno3) * no3mean / zno3sumn 
    372  
    373          IF(lwp) WRITE(numout,*) '       SiO3N mean : ', zsilsumn 
    374          trn(:,:,:,jpsil) = MIN( 400.e-6,trn(:,:,:,jpsil) * silmean / zsilsumn ) 
    375          ! 
    376          ! 
    377          IF( .NOT. ln_top_euler ) THEN 
    378             zalksumb = glob_sum( trb(:,:,:,jptal) * cvol(:,:,:)  ) * zarea 
    379             zpo4sumb = glob_sum( trb(:,:,:,jppo4) * cvol(:,:,:)  ) * zarea * po4r 
    380             zno3sumb = glob_sum( trb(:,:,:,jpno3) * cvol(:,:,:)  ) * zarea * rno3 
    381             zsilsumb = glob_sum( trb(:,:,:,jpsil) * cvol(:,:,:)  ) * zarea 
     365            IF(lwp) WRITE(numout,*) '       TALKN mean : ', zalksumn 
     366            trn(:,:,:,jptal) = trn(:,:,:,jptal) * alkmean / zalksumn 
     367 
     368            IF(lwp) WRITE(numout,*) '       PO4N  mean : ', zpo4sumn 
     369            trn(:,:,:,jppo4) = trn(:,:,:,jppo4) * po4mean / zpo4sumn 
     370 
     371            IF(lwp) WRITE(numout,*) '       NO3N  mean : ', zno3sumn 
     372            trn(:,:,:,jpno3) = trn(:,:,:,jpno3) * no3mean / zno3sumn 
     373 
     374            IF(lwp) WRITE(numout,*) '       SiO3N mean : ', zsilsumn 
     375            trn(:,:,:,jpsil) = MIN( 400.e-6,trn(:,:,:,jpsil) * silmean / zsilsumn ) 
     376            ! 
     377            ! 
     378            IF( .NOT. ln_top_euler ) THEN 
     379               zalksumb = glob_sum( trb(:,:,:,jptal) * cvol(:,:,:)  ) * zarea 
     380               zpo4sumb = glob_sum( trb(:,:,:,jppo4) * cvol(:,:,:)  ) * zarea * po4r 
     381               zno3sumb = glob_sum( trb(:,:,:,jpno3) * cvol(:,:,:)  ) * zarea * rno3 
     382               zsilsumb = glob_sum( trb(:,:,:,jpsil) * cvol(:,:,:)  ) * zarea 
    382383  
    383             IF(lwp) WRITE(numout,*) ' ' 
    384             IF(lwp) WRITE(numout,*) '       TALKB mean : ', zalksumb 
    385             trb(:,:,:,jptal) = trb(:,:,:,jptal) * alkmean / zalksumb 
    386  
    387             IF(lwp) WRITE(numout,*) '       PO4B  mean : ', zpo4sumb 
    388             trb(:,:,:,jppo4) = trb(:,:,:,jppo4) * po4mean / zpo4sumb 
    389  
    390             IF(lwp) WRITE(numout,*) '       NO3B  mean : ', zno3sumb 
    391             trb(:,:,:,jpno3) = trb(:,:,:,jpno3) * no3mean / zno3sumb 
    392  
    393             IF(lwp) WRITE(numout,*) '       SiO3B mean : ', zsilsumb 
    394             trb(:,:,:,jpsil) = MIN( 400.e-6,trb(:,:,:,jpsil) * silmean / zsilsumb ) 
     384               IF(lwp) WRITE(numout,*) ' ' 
     385               IF(lwp) WRITE(numout,*) '       TALKB mean : ', zalksumb 
     386               trb(:,:,:,jptal) = trb(:,:,:,jptal) * alkmean / zalksumb 
     387 
     388               IF(lwp) WRITE(numout,*) '       PO4B  mean : ', zpo4sumb 
     389               trb(:,:,:,jppo4) = trb(:,:,:,jppo4) * po4mean / zpo4sumb 
     390 
     391               IF(lwp) WRITE(numout,*) '       NO3B  mean : ', zno3sumb 
     392               trb(:,:,:,jpno3) = trb(:,:,:,jpno3) * no3mean / zno3sumb 
     393 
     394               IF(lwp) WRITE(numout,*) '       SiO3B mean : ', zsilsumb 
     395               trb(:,:,:,jpsil) = MIN( 400.e-6,trb(:,:,:,jpsil) * silmean / zsilsumb ) 
     396           ENDIF 
    395397        ENDIF 
    396398        ! 
  • NEMO/trunk/src/TOP/PISCES/trcice_pisces.F90

    r10069 r10213  
    273273            WHERE( gphit(:,:) <  0._wp ) ; trc_o(:,:,jn) = zpisc(jn,3) ; END WHERE ! Antarctic  
    274274         ENDIF 
    275          IF( cn_cfg == "orca" ) THEN     !  Baltic Sea particular case for ORCA configurations 
     275         IF( cn_cfg == "orca" .OR. cn_cfg == "ORCA" ) THEN     !  Baltic Sea particular case for ORCA configurations 
    276276             WHERE( 14._wp <= glamt(:,:) .AND. glamt(:,:) <= 32._wp .AND.    & 
    277277                    54._wp <= gphit(:,:) .AND. gphit(:,:) <= 66._wp ) 
     
    312312        
    313313         !-- Baltic 
    314          IF( cn_cfg == "orca" ) THEN  ! Baltic treated seperately for ORCA configs 
     314         IF( cn_cfg == "orca" .OR. cn_cfg == "ORCA" ) THEN      
    315315            IF ( trc_ice_ratio(jn) >= - 1._wp ) THEN ! no prescribed conc. ; typically everything but iron)  
    316316               WHERE( 14._wp <= glamt(:,:) .AND. glamt(:,:) <= 32._wp .AND.    & 
  • NEMO/trunk/src/TOP/TRP/trcdmp.F90

    r10068 r10213  
    251251         ! ------------------- 
    252252 
    253          IF( cn_cfg == "orca" ) THEN 
     253         IF( cn_cfg == "orca" .OR. cn_cfg == "ORCA") THEN 
    254254            ! 
    255255            SELECT CASE ( nn_cfg ) 
Note: See TracChangeset for help on using the changeset viewer.