Changeset 7227


Ignore:
Timestamp:
2016-11-15T12:28:54+01:00 (4 years ago)
Author:
jpalmier
Message:

JPALM —14-11-2015 — add MEDUSA CMIP6 diags-update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90

    r7224 r7227  
    380380      !! AXY (04/11/16) 
    381381      !! 2D var for new CMIP6 diagnostics (behind a key_roam ifdef for simplicity) 
    382       REAL(wp), POINTER, DIMENSION(:,:  ) :: epc100, epcalc100, epn100, epsi100 
    383382      REAL(wp), POINTER, DIMENSION(:,:  ) :: fgco2, intdissic, intdissin, intdissisi, inttalk, o2min, zo2min 
    384383      !! 
     
    388387      REAL(wp), POINTER, DIMENSION(:,:,:) :: fd_nit3, fd_sil3, fd_car3, fd_cal3 
    389388      REAL(wp), POINTER, DIMENSION(:,:,:) :: co33, co3satarag3, co3satcalc3, dcalc3 
    390       REAL(wp), POINTER, DIMENSION(:,:,:) :: expc3, expn3, expcalc3, expsi3 
     389      REAL(wp), POINTER, DIMENSION(:,:,:) :: expc3, expn3 
    391390      REAL(wp), POINTER, DIMENSION(:,:,:) :: fediss3, fescav3 
    392391      REAL(wp), POINTER, DIMENSION(:,:,:) :: migrazp3, migrazd3, megrazp3, migrazd3, migrazz3 
     
    996995          !!  
    997996          !! AXY (10/11/16): CMIP6 diagnostics, 2D 
    998           IF( med_diag%EPC100%dgsave ) THEN 
    999              CALL wrk_alloc( jpi, jpj,   epc100    ) 
    1000              epc100(:,:)      = 0.0 !! 
    1001           ENDIF 
    1002           IF( med_diag%EPCALC100%dgsave ) THEN 
    1003              CALL wrk_alloc( jpi, jpj,   epcalc100    ) 
    1004              epcalc100(:,:)      = 0.0 !! 
    1005           ENDIF 
    1006           IF( med_diag%EPN100%dgsave ) THEN 
    1007              CALL wrk_alloc( jpi, jpj,   epn100    ) 
    1008              epn100(:,:)      = 0.0 !! 
    1009           ENDIF 
    1010           IF( med_diag%EPSI100%dgsave ) THEN 
    1011              CALL wrk_alloc( jpi, jpj,   epsi100    ) 
    1012              epsi100(:,:)      = 0.0 !! 
    1013           ENDIF 
    1014997          IF( med_diag%FGCO2%dgsave ) THEN 
    1015998             CALL wrk_alloc( jpi, jpj,   fgco2    ) 
     
    10851068             CALL wrk_alloc( jpi, jpj, jpk, dcalc3    ) 
    10861069             dcalc3(:,:,: )   = 0.0 !!  
     1070          ENDIF 
     1071          IF( med_diag%EXPC3%dgsave     ) THEN 
     1072             CALL wrk_alloc( jpi, jpj, jpk, expc3   ) 
     1073             expc3(:,:,: )    = 0.0 !!  
     1074          ENDIF 
     1075          IF( med_diag%EXPN3%dgsave     ) THEN 
     1076             CALL wrk_alloc( jpi, jpj, jpk, expn3   ) 
     1077             expn3(:,:,: )    = 0.0 !!  
    10871078          ENDIF 
    10881079          IF( med_diag%FEDISS3%dgsave   ) THEN 
     
    47864777#   endif 
    47874778                     IF( med_diag%SDT__100%dgsave ) THEN 
    4788                          CALL iom_put( "SDT__100"  , fslownflux ) 
     4779                        CALL iom_put( "SDT__100"  , fslownflux ) 
    47894780                     ENDIF 
    47904781                     IF( med_diag%REG__100%dgsave ) THEN 
    4791                          CALL iom_put( "REG__100"  , fregen2d ) 
     4782                        CALL iom_put( "REG__100"  , fregen2d ) 
    47924783                     ENDIF 
    47934784                     IF( med_diag%FDT__100%dgsave ) THEN 
    4794                          CALL iom_put( "FDT__100"  , ffastn ) 
     4785                        CALL iom_put( "FDT__100"  , ffastn ) 
    47954786                     ENDIF            
    47964787                     IF( med_diag%RG__100F%dgsave ) THEN 
    4797                          CALL iom_put( "RG__100F"  , fregenfast ) 
     4788                        CALL iom_put( "RG__100F"  , fregenfast ) 
    47984789                     ENDIF 
    47994790                     IF( med_diag%FDS__100%dgsave ) THEN 
    4800                          CALL iom_put( "FDS__100"  , ffastsi ) 
     4791                        CALL iom_put( "FDS__100"  , ffastsi ) 
    48014792                     ENDIF          
    48024793                     IF( med_diag%RGS_100F%dgsave ) THEN 
    4803                          CALL iom_put( "RGS_100F"  , fregenfastsi ) 
     4794                        CALL iom_put( "RGS_100F"  , fregenfastsi ) 
    48044795                     ENDIF 
    48054796                     IF( med_diag%FE_0100%dgsave ) THEN 
    4806                          CALL iom_put( "FE_0100"  , xFree ) 
     4797                        CALL iom_put( "FE_0100"  , xFree ) 
    48074798                     ENDIF 
    48084799# if defined key_roam                      
    48094800                     IF( med_diag%RR_0100%dgsave ) THEN 
    4810                          CALL iom_put( "RR_0100"  , ffastca2d ) 
     4801                        CALL iom_put( "RR_0100"  , ffastca2d ) 
    48114802                     ENDIF                      
    48124803                     IF( med_diag%SDC__100%dgsave ) THEN 
    4813                          CALL iom_put( "SDC__100"  , fslowcflux ) 
     4804                        CALL iom_put( "SDC__100"  , fslowcflux ) 
    48144805                     ENDIF                   
     4806                     IF( med_diag%epC100%dgsave    ) THEN 
     4807                        zw2d(:,:) = fslowcflux + ffastc 
     4808                        CALL iom_put( "epC100"    , zw2d ) 
     4809                     ENDIF          
     4810                     IF( med_diag%epCALC100%dgsave ) THEN 
     4811                        CALL iom_put( "epCALC100" , ffastca ) 
     4812                     ENDIF          
     4813                     IF( med_diag%epN100%dgsave    ) THEN 
     4814                        zw2d(:,:) = fslownflux + ffastn 
     4815                        CALL iom_put( "epN100"    , zw2d ) 
     4816                     ENDIF          
     4817                     IF( med_diag%epSI100%dgsave   ) THEN 
     4818                        CALL iom_put( "epSI100"   , ffastsi ) 
     4819                     ENDIF          
    48154820                 ELSE IF (jk.eq.i0150) THEN 
    48164821#   if defined key_debug_medusa 
     
    49254930                      !CALL iom_put( "DETFLUX3"  , ftot_n ) 
    49264931                 ENDIF 
     4932# if defined key_roam                      
     4933                     IF( med_diag%EXPC3%dgsave ) THEN 
     4934                        expc3(:,:,jk) = fslowcflux(:,:) + ffastc(:,:) 
     4935                     ENDIF          
     4936                     IF( med_diag%EXPN3%dgsave ) THEN 
     4937                        expn3(:,:,jk) = fslownflux(:,:) + ffastn(:,:) 
     4938                     ENDIF          
     4939# endif           
    49274940             ENDIF 
    49284941      !! CLOSE vertical loop 
     
    58115824          IF( med_diag%CO3SATCALC3%dgsave ) THEN 
    58125825             CALL iom_put( "CO3SATCALC3"  , f3_omcal ) 
     5826          ENDIF                     
     5827          IF( med_diag%EXPC3%dgsave ) THEN 
     5828             CALL iom_put( "EXPC3"  , expc3 ) 
     5829             CALL wrk_dealloc( jpi, jpj, jpk, expc3  ) 
     5830          ENDIF                     
     5831          IF( med_diag%EXPN3%dgsave ) THEN 
     5832             CALL iom_put( "EXPN3"  , expn3 ) 
     5833             CALL wrk_dealloc( jpi, jpj, jpk, expn3  ) 
    58135834          ENDIF                     
    58145835          IF( med_diag%DCALC3%dgsave ) THEN 
Note: See TracChangeset for help on using the changeset viewer.