Changeset 5010


Ignore:
Timestamp:
2015-01-06T08:59:28+01:00 (6 years ago)
Author:
cbricaud
Message:

second modifications for output coarsening . see ticket 1426

Location:
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crs.F90

    r5007 r5010  
    1010   USE dom_oce 
    1111   USE in_out_manager 
    12  
     12   USE lbcnfd 
    1313 
    1414   IMPLICIT NONE 
     
    7272      INTEGER ::   nproc_crs                   !:number for local processor 
    7373      INTEGER ::   nbondi_crs, nbondj_crs      !: mark of i- and j-direction local boundaries 
    74        
     74      
     75      INTEGER ::  nfsloop_full,nfeloop_full  
     76      INTEGER ::  nfsloop_crs ,nfeloop_crs 
    7577 
    7678      INTEGER, DIMENSION(:), ALLOCATABLE :: mis_crs, mie_crs, mis2_crs, mie2_crs  ! starting and ending i-indices of parent subset 
     
    8890      INTEGER, DIMENSION(:), ALLOCATABLE ::   njmppt_crs, njmppt_full    !: first, last indoor index for each j-domain 
    8991 
     92      INTEGER, DIMENSION(:,:), ALLOCATABLE ::   nfiimpp_full 
     93      INTEGER, DIMENSION(:,:), ALLOCATABLE ::   nfiimpp_crs 
    9094  
    9195      ! Masks 
     
    259263      !!------------------------------------------------------------------- 
    260264      !! Local variables 
    261       INTEGER, DIMENSION(1) :: ierr 
     265      INTEGER, DIMENSION(2) :: ierr 
    262266 
    263267      ierr(:) = 0 
     
    268272       &  njmppt_full(jpnij) , nlcjt_full(jpnij) , nldjt_full(jpnij) , nlejt_full(jpnij)  , STAT=ierr(1) ) 
    269273 
     274      ALLOCATE( nfiimpp_full(jpni,jpnj) , nfiimpp_crs(jpni,jpnj) ,STAT=ierr(2) ) 
     275 
    270276      crs_dom_alloc = MAXVAL(ierr) 
    271277 
     
    296302      !! ** Purpose : +Return back to parent grid domain  
    297303      !!--------------------------------------------------------------------- 
     304      write(narea+200,*)"dom_grid_glo";call flush(narea+200) 
    298305 
    299306      !                         Return to parent grid domain 
     
    326333      njmppt(:) = njmppt_full(:) 
    327334 
     335      nfsloop = nfsloop_full 
     336      nfeloop = nfeloop_full 
     337 
     338      nfiimpp(:,:) = nfiimpp_full(:,:) 
     339 
    328340   END SUBROUTINE dom_grid_glo 
    329341 
     
    334346      !! ** Purpose :  Save the parent grid information & Switch to coarse grid domain 
    335347      !!--------------------------------------------------------------------- 
    336  
     348      write(narea+200,*)"dom_grid_crs";call flush(narea+200) 
    337349      ! 
    338350      !                        Switch to coarse grid domain 
     
    366378      njmppt(:) = njmppt_crs(:) 
    367379 
     380      nfsloop = nfsloop_crs 
     381      nfeloop = nfeloop_crs 
     382 
     383      nfiimpp(:,:) = nfiimpp_crs(:,:) 
    368384 
    369385      ! 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsdom.F90

    r5007 r5010  
    19551955      INTEGER  :: ji,jj,jk,ijjgloT,ijis,ijie,ijjs,ijje,jn      ! dummy indices 
    19561956      INTEGER  :: ierr                                ! allocation error status 
    1957       INTEGER :: ii,ij,iproc,iprocno,iprocso 
     1957      INTEGER :: ii,ij,iproc,iprocno,iprocso,iimppt_crs 
    19581958  
    19591959   
     
    21362136           WRITE(narea+200,*)"tutu glo ",jn,jpi_crs, nldit_crs(jn)+nimppt_crs(jn)-1,nleit_crs(jn)+nimppt_crs(jn)-1,nlcit_crs(jn)+nimppt_crs(jn)-1 ; call flush(narea+200) 
    21372137 
    2138  
     2138           nfiimpp_crs(ii,ij) = nimppt_crs(jn) 
     2139           WRITE(narea+200,*)"tutu nimppt_crs(jn) ",ii,ij,nimppt_crs(jn) ; call flush(narea+200) 
     2140           
     2141        ENDDO 
     2142 
     2143        DO ji = 1 , jpni 
     2144           DO jj = 1 ,jpnj 
     2145              jn=nfipproc(ji,jj)+1 
     2146              iimppt_crs = ANINT( REAL( (nfiimpp(ji,jj) + 1 ) / nn_factx, wp ) ) + 1 
     2147              nfiimpp_crs(ji,jj) = iimppt_crs 
     2148              IF( jn .GE. 1 )nimppt_crs(jn) = iimppt_crs 
     2149              PRINT*," nfiimpp_crs(ji,jj) ",ji,jj,jn,nfiimpp(ji,jj),nfiimpp_crs(ji,jj) 
     2150           ENDDO 
    21392151        ENDDO 
    21402152 
     
    21482160        nldi_crs  = nldit_crs(nproc + 1) 
    21492161        nimpp_crs = nimppt_crs(nproc + 1) 
     2162 
     2163        !nogather=T 
     2164        nfsloop_crs = 1 
     2165        nfeloop_crs = nlci_crs 
     2166        DO jn = 2,jpni-1 
     2167           IF(nfipproc(jn,jpnj) .eq. (narea - 1)) THEN 
     2168              IF (nfipproc(jn - 1 ,jpnj) .eq. -1) THEN 
     2169                 nfsloop_crs = nldi_crs 
     2170              ENDIF 
     2171              IF (nfipproc(jn + 1,jpnj) .eq. -1) THEN 
     2172                 nfeloop_crs = nlei_crs 
     2173              ENDIF 
     2174           ENDIF 
     2175        END DO 
    21502176 
    21512177        !============================================================================================== 
     
    21542180         write(narea+200,*)"jpj_crs,nldj_crs,nlej_crs,nlcj_crs,njmpp_crs,nldj_crs+njmpp_crs-1,nlej_crs+njmpp_crs-1" ; call flush(narea+200) 
    21552181         write(narea+200,*)jpj_crs,nldj_crs,nlej_crs,nlcj_crs,njmpp_crs,nldj_crs+njmpp_crs-1,nlej_crs+njmpp_crs-1 ; call flush(narea+200) 
     2182         write(narea+200,*)"nfsloop_crs nfeloop_crs ",nfsloop_crs,nfeloop_crs ; call flush(narea+200) 
    21562183 
    21572184         ! No coarsening with zoom 
     
    22122239      nlejt_full(:)  = nlejt(:) 
    22132240      njmppt_full(:) = njmppt(:) 
    2214        
     2241      
     2242      nfsloop_full = nfsloop 
     2243      nfeloop_full = nfeloop 
     2244 
     2245      nfiimpp_full(:,:) = nfiimpp(:,:)  
     2246 
     2247 
    22152248      CALL dom_grid_crs  !swich de grille 
    22162249      
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90

    r5007 r5010  
    174174            DO jj = 2, jpj_crsm1 
    175175               IF( tmask_crs(ji,jj,jk ) > 0 ) THEN 
    176                    z2dcrsu =  ( un_crs(ji  ,jj  ,jk) * crs_surfu_wgt(ji  ,jj  ,jk) ) & 
    177                       &     - ( un_crs(ji-1,jj  ,jk) * crs_surfu_wgt(ji-1,jj  ,jk) ) 
    178                    z2dcrsv =  ( vn_crs(ji  ,jj  ,jk) * crs_surfv_wgt(ji  ,jj  ,jk) ) & 
    179                       &     - ( vn_crs(ji  ,jj-1,jk) * crs_surfv_wgt(ji  ,jj-1,jk) ) 
    180                    ! 
    181                    IF( crs_volt_wgt(ji,jj,jk) .NE. 0._wp ) hdivn_crs(ji,jj,jk) = ( z2dcrsu + z2dcrsv ) / crs_volt_wgt(ji,jj,jk) 
     176                  z2dcrsu =  ( un_crs(ji  ,jj  ,jk) * e2e3u_msk(ji  ,jj  ,jk) ) & 
     177                     &     - ( un_crs(ji-1,jj  ,jk) * e2e3u_msk(ji-1,jj  ,jk) ) 
     178                  z2dcrsv =  ( vn_crs(ji  ,jj  ,jk) * e1e3v_msk(ji  ,jj  ,jk) ) & 
     179                     &     - ( vn_crs(ji  ,jj-1,jk) * e1e3v_msk(ji  ,jj-1,jk) ) 
     180                  ! 
     181                  IF( ocean_volume_crs_t(ji,jj,jk) .NE. 0._wp ) hdivn_crs(ji,jj,jk) = ( z2dcrsu + z2dcrsv ) / ocean_volume_crs_t(ji,jj,jk) 
    182182               ENDIF 
    183183            ENDDO 
     
    215215       
    216216      !  sbc fields   
     217 
    217218      CALL crs_dom_ope( sshn , 'VOL', 'T', tmask, sshn_crs , p_e12=e1e2t, p_e3=zfse3t         , psgn=1.0 )   
    218219      CALL crs_dom_ope( utau , 'SUM', 'U', umask, utau_crs , p_e12=e2u  , p_surf_crs=e2u_crs  , psgn=1.0 ) 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90

    r5007 r5010  
    253253            DO ji = 2, jpni 
    254254               iimppt(ji,jj) = iimppt(ji-1,jj) + ilcit(ji-1,jj) - nreci 
     255               !cbr  
     256               WRITE(narea+200,*)"iimppt",ji,jj,ilcit(ji-1,jj),nreci,iimppt(ji-1,jj),iimppt(ji,jj) 
    255257            END DO 
    256258         END DO 
Note: See TracChangeset for help on using the changeset viewer.