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 8495 for branches/UKMO/dev_r5518_GO6_package_asm_surf_bgc_v2/NEMOGCM/NEMO/TOP_SRC/trcrst.F90 – NEMO

Ignore:
Timestamp:
2017-09-04T18:50:10+02:00 (7 years ago)
Author:
dford
Message:

Merge in changes from dev_r5518_GO6_package_asm_surf_bgc, and adapt to the updated MEDUSA structure.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package_asm_surf_bgc_v2/NEMOGCM/NEMO/TOP_SRC/trcrst.F90

    r8427 r8495  
    4343   USE sbc_oce, ONLY: lk_oasis  
    4444   USE oce,     ONLY: CO2Flux_out_cpl, DMS_out_cpl, chloro_out_cpl  !! Coupling variable 
     45#if defined key_foam_medusa 
     46   USE obs_const, ONLY: obfillflt  ! Observation operator fill value 
     47#endif 
    4548 
    4649   IMPLICIT NONE 
     
    329332         IF(lwp) WRITE(numout,*) 'Or don t start from uncomplete restart...'  
    330333      ENDIF 
     334      ! 
     335#  if defined key_foam_medusa 
     336      !! 2D fields of pCO2 and fCO2 for observation operator on first timestep 
     337      IF( iom_varid( numrtr, 'PCO2W', ldstop = .FALSE. ) > 0 ) THEN 
     338         IF(lwp) WRITE(numout,*) ' MEDUSA pCO2 present - reading in ...' 
     339         CALL iom_get( numrtr, jpdom_autoglo, 'PCO2W',  f2_pco2w(:,:)  ) 
     340         CALL iom_get( numrtr, jpdom_autoglo, 'FCO2W',  f2_fco2w(:,:)  ) 
     341      ELSE 
     342         IF(lwp) WRITE(numout,*) ' MEDUSA pCO2 absent - setting to fill ...' 
     343         f2_pco2w(:,:) = obfillflt * tmask(:,:,1) 
     344         f2_fco2w(:,:) = obfillflt * tmask(:,:,1) 
     345      ENDIF 
     346#  endif 
    331347# endif 
    332  
     348# if defined key_foam_medusa 
     349      !! Fields for ocean colour assimilation on first timestep 
     350      IF( iom_varid( numrtr, 'pgrow_avg', ldstop = .FALSE. ) > 0 ) THEN 
     351         IF(lwp) WRITE(numout,*) ' MEDUSA pgrow_avg present - reading in ...' 
     352         CALL iom_get( numrtr, jpdom_autoglo, 'pgrow_avg',  pgrow_avg(:,:)  ) 
     353         CALL iom_get( numrtr, jpdom_autoglo, 'ploss_avg',  ploss_avg(:,:)  ) 
     354         CALL iom_get( numrtr, jpdom_autoglo, 'phyt_avg',   phyt_avg(:,:)   ) 
     355         CALL iom_get( numrtr, jpdom_autoglo, 'mld_max',    mld_max(:,:)    ) 
     356      ELSE 
     357         IF(lwp) WRITE(numout,*) ' MEDUSA pgrow_avg absent - setting to zero ...' 
     358         pgrow_avg(:,:) = 0.0 
     359         ploss_avg(:,:) = 0.0 
     360         phyt_avg(:,:)  = 0.0 
     361         mld_max(:,:)   = 0.0 
     362      ENDIF 
     363# endif 
    333364 
    334365#endif 
     
    498529      call trc_rst_dia_stat( f2_ccd_arg(:,:),'CCD_ARG') 
    499530      !! 
     531#  if defined key_foam_medusa 
     532      !! Fields for observation operator on first timestep 
     533      IF(lwp) WRITE(numout,*) ' MEDUSA OBS fields - writing out ...' 
     534      CALL iom_rstput( kt, nitrst, numrtw, 'PCO2W', f2_pco2w(:,:)  ) 
     535      CALL iom_rstput( kt, nitrst, numrtw, 'FCO2W', f2_fco2w(:,:)  ) 
     536#  endif 
     537# endif 
     538# if defined key_foam_medusa 
     539      !! Fields for assimilation on first timestep 
     540      IF(lwp) WRITE(numout,*) ' MEDUSA ASM fields - writing out ...' 
     541      CALL iom_rstput( kt, nitrst, numrtw, 'pgrow_avg', pgrow_avg(:,:) ) 
     542      CALL iom_rstput( kt, nitrst, numrtw, 'ploss_avg', ploss_avg(:,:) ) 
     543      CALL iom_rstput( kt, nitrst, numrtw, 'phyt_avg',  phyt_avg(:,:)  ) 
     544      CALL iom_rstput( kt, nitrst, numrtw, 'mld_max',   mld_max(:,:)   ) 
    500545# endif 
    501546!! 
Note: See TracChangeset for help on using the changeset viewer.