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 11863 – NEMO

Changeset 11863


Ignore:
Timestamp:
2019-11-05T18:22:07+01:00 (4 years ago)
Author:
kingr
Message:

Merged recent changes to dev_r5518_obs_oper_update

Location:
branches/UKMO/dev_r5518_obs_oper_update_SlaAssim/NEMOGCM
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_obs_oper_update_SlaAssim/NEMOGCM/CONFIG/SHARED/namelist_ref

    r11468 r11863  
    12131213   ln_slphynon = .false.            ! Logical switch for surface non-diatom log10(phytoplankton carbon) obs 
    12141214   ln_sspm     = .false.            ! Logical switch for surface suspended particulate matter obs 
     1215   ln_skd490   = .false.            ! Logical switch for surface attenuation coefficient of downwelling radiation at 490 nm 
    12151216   ln_sfco2    = .false.            ! Logical switch for surface fugacity         of carbon dioxide obs 
    12161217   ln_spco2    = .false.            ! Logical switch for surface partial pressure of carbon dioxide obs 
     
    12571258   cn_slphynonfbfiles = 'slphynon_01.nc' ! Surface non-diatom log10(phytoplankton carbon) obs file names 
    12581259   cn_sspmfbfiles     = 'sspm_01.nc'     ! Surface suspended particulate matter obs file names 
     1260   cn_skd490fbfiles   = 'skd490_01.nc'   ! Surface Kd490 obs file names 
    12591261   cn_sfco2fbfiles    = 'sfco2_01.nc'    ! Surface fugacity         of carbon dioxide obs file names 
    12601262   cn_spco2fbfiles    = 'spco2_01.nc'    ! Surface partial pressure of carbon dioxide obs file names 
  • branches/UKMO/dev_r5518_obs_oper_update_SlaAssim/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90

    r11468 r11863  
    167167         & cn_slphynonfbfiles, & ! Surface non-diatom log10(phytoplankton carbon) input filenames 
    168168         & cn_sspmfbfiles,     & ! Surface suspended particulate matter input filenames 
     169         & cn_skd490fbfiles,   & ! Surface Kd490 input filenames 
    169170         & cn_sfco2fbfiles,    & ! Surface fugacity         of carbon dioxide input filenames 
    170171         & cn_spco2fbfiles,    & ! Surface partial pressure of carbon dioxide input filenames 
     
    203204      LOGICAL :: ln_slphynon     ! Logical switch for surface non-diatom log10(phytoplankton carbon) obs 
    204205      LOGICAL :: ln_sspm         ! Logical switch for surface suspended particulate matter obs 
     206      LOGICAL :: ln_skd490       ! Logical switch for surface Kd490 
    205207      LOGICAL :: ln_sfco2        ! Logical switch for surface fugacity         of carbon dioxide obs 
    206208      LOGICAL :: ln_spco2        ! Logical switch for surface partial pressure of carbon dioxide obs 
     
    230232         & clproffiles, &        ! Profile filenames 
    231233         & clsurffiles           ! Surface filenames 
     234      CHARACTER(len=8), DIMENSION(:), ALLOCATABLE :: clvars  ! Expected variable names 
    232235 
    233236      LOGICAL, DIMENSION(:), ALLOCATABLE :: llvar   ! Logical for profile variable read 
     
    251254         &            ln_slphytot, ln_slphydia, ln_slphynon,          & 
    252255         &            ln_sspm,     ln_sfco2,    ln_spco2,             & 
     256         &            ln_skd490,                                      & 
    253257         &            ln_plchltot, ln_pchltot,  ln_pno3,              & 
    254258         &            ln_psi4,     ln_ppo4,     ln_pdic,              & 
     
    270274         &            cn_slphytotfbfiles, cn_slphydiafbfiles,         & 
    271275         &            cn_slphynonfbfiles, cn_sspmfbfiles,             & 
     276         &            cn_skd490fbfiles,                               & 
    272277         &            cn_sfco2fbfiles, cn_spco2fbfiles,               & 
    273278         &            cn_plchltotfbfiles, cn_pchltotfbfiles,          & 
     
    312317      cn_slphynonfbfiles(:) = '' 
    313318      cn_sspmfbfiles(:)     = '' 
     319      cn_skd490fbfiles(:)   = '' 
    314320      cn_sfco2fbfiles(:)    = '' 
    315321      cn_spco2fbfiles(:)    = '' 
     
    374380         WRITE(numout,*) '             Logical switch for surface non-diatom log(phyC) obs ln_slphynon = ', ln_slphynon 
    375381         WRITE(numout,*) '             Logical switch for surface SPM observations             ln_sspm = ', ln_sspm 
     382         WRITE(numout,*) '             Logical switch for surface Kd490 observations         ln_skd490 = ', ln_skd490 
    376383         WRITE(numout,*) '             Logical switch for surface fCO2 observations           ln_sfco2 = ', ln_sfco2 
    377384         WRITE(numout,*) '             Logical switch for surface pCO2 observations           ln_spco2 = ', ln_spco2 
     
    433440         &                  ln_slchlmic, ln_slchlnan, ln_slchlpic, ln_schltot,  & 
    434441         &                  ln_slphytot, ln_slphydia, ln_slphynon, ln_sspm,     & 
    435          &                  ln_sfco2,    ln_spco2 /) ) 
     442         &                  ln_skd490,   ln_sfco2,    ln_spco2 /) ) 
    436443 
    437444      IF ( nproftypes == 0 .AND. nsurftypes == 0 ) THEN 
     
    613620            cobstypessurf(jtype) = 'sspm' 
    614621            clsurffiles(jtype,:) = cn_sspmfbfiles 
     622         ENDIF 
     623         IF (ln_skd490) THEN 
     624            jtype = jtype + 1 
     625            cobstypessurf(jtype) = 'skd490' 
     626            clsurffiles(jtype,:) = cn_skd490fbfiles 
    615627         ENDIF 
    616628         IF (ln_sfco2) THEN 
     
    736748               IF ( ln_output_clim ) ltype_clim = .TRUE.               
    737749               ALLOCATE(llvar(nvarsprof(jtype))) 
     750               ALLOCATE(clvars(nvarsprof(jtype))) 
    738751               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zglam ) 
    739752               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zgphi ) 
     
    741754               llvar(1)       = ln_t3d 
    742755               llvar(2)       = ln_s3d 
     756               clvars(1)      = 'POTM' 
     757               clvars(2)      = 'PSAL' 
    743758               zglam(:,:,1)   = glamt(:,:) 
    744759               zglam(:,:,2)   = glamt(:,:) 
     
    751766               nextrprof(jtype) = 2 
    752767               ALLOCATE(llvar(nvarsprof(jtype))) 
     768               ALLOCATE(clvars(nvarsprof(jtype))) 
    753769               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zglam ) 
    754770               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zgphi ) 
     
    756772               llvar(1)       = ln_vel3d 
    757773               llvar(2)       = ln_vel3d 
     774               clvars(1)      = 'UVEL' 
     775               clvars(2)      = 'VVEL' 
    758776               zglam(:,:,1)   = glamu(:,:) 
    759777               zglam(:,:,2)   = glamv(:,:) 
     
    766784               nextrprof(jtype) = 0 
    767785               ALLOCATE(llvar(nvarsprof(jtype))) 
     786               ALLOCATE(clvars(nvarsprof(jtype))) 
    768787               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zglam ) 
    769788               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zgphi ) 
     
    773792               zgphi(:,:,1)   = gphit(:,:) 
    774793               zmask(:,:,:,1) = tmask(:,:,:) 
     794               IF ( TRIM(cobstypesprof(jtype)) == 'plchltot' )  THEN 
     795                  clvars(1) = 'PLCHLTOT' 
     796               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'pchltot' )  THEN 
     797                  clvars(1) = 'PCHLTOT' 
     798               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'pno3' )  THEN 
     799                  clvars(1) = 'PNO3' 
     800               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'psi4' )  THEN 
     801                  clvars(1) = 'PSI4' 
     802               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'ppo4' )  THEN 
     803                  clvars(1) = 'PPO4' 
     804               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'pdic' )  THEN 
     805                  clvars(1) = 'PDIC' 
     806               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'palk' )  THEN 
     807                  clvars(1) = 'PALK' 
     808               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'pph' )  THEN 
     809                  clvars(1) = 'PPH' 
     810               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'po2' )  THEN 
     811                  clvars(1) = 'PO2' 
     812               ENDIF 
    775813            ENDIF 
    776814 
     
    780818               &               nvarsprof(jtype), nextrprof(jtype), nitend-nit000+2, & 
    781819               &               rn_dobsini, rn_dobsend, llvar, & 
    782                &               ln_ignmis, ln_s_at_t, .FALSE., ltype_clim, & 
     820               &               ln_ignmis, ln_s_at_t, .FALSE., ltype_clim, clvars, & 
    783821               &               kdailyavtypes = nn_profdavtypes ) 
    784822 
     
    794832               &               kdailyavtypes = nn_profdavtypes ) 
    795833             
    796             DEALLOCATE( llvar ) 
     834            DEALLOCATE( llvar, clvars ) 
    797835            CALL wrk_dealloc( jpi, jpj,      nvarsprof(jtype), zglam ) 
    798836            CALL wrk_dealloc( jpi, jpj,      nvarsprof(jtype), zgphi ) 
     
    814852         DO jtype = 1, nsurftypes 
    815853 
    816             nvarssurf(jtype) = 1 
    817             nextrsurf(jtype) = 0 
    818854            ltype_clim = .FALSE. 
    819             IF ( TRIM(cobstypessurf(jtype)) == 'sla' ) nextrsurf(jtype) = 2 
    820855            IF ( ln_output_clim .AND. & 
    821856               & ( ( TRIM(cobstypessurf(jtype)) == 'sst' ) .OR. & 
    822857               &   ( TRIM(cobstypessurf(jtype)) == 'sss' ) ) ) & 
    823858               & ltype_clim = .TRUE. 
     859 
     860            IF ( TRIM(cobstypessurf(jtype)) == 'sla' ) THEN 
     861               nvarssurf(jtype) = 1 
     862               nextrsurf(jtype) = 2 
     863            ELSE 
     864               nvarssurf(jtype) = 1 
     865               nextrsurf(jtype) = 0 
     866            ENDIF 
     867             
     868            ALLOCATE( clvars( nvarssurf(jtype) ) ) 
     869 
     870            IF ( TRIM(cobstypessurf(jtype)) == 'sla' ) THEN 
     871               clvars(1) = 'SLA' 
     872            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sst' ) THEN 
     873               clvars(1) = 'SST' 
     874            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sic' ) THEN 
     875               clvars(1) = 'ICECONC' 
     876            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sss' ) THEN 
     877               clvars(1) = 'SSS' 
     878            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchltot' ) THEN 
     879               clvars(1) = 'SLCHLTOT' 
     880            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchldia' ) THEN 
     881               clvars(1) = 'SLCHLDIA' 
     882            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchlnon' ) THEN 
     883               clvars(1) = 'SLCHLNON' 
     884            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchldin' ) THEN 
     885               clvars(1) = 'SLCHLDIN' 
     886            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchlmic' ) THEN 
     887               clvars(1) = 'SLCHLMIC' 
     888            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchlnan' ) THEN 
     889               clvars(1) = 'SLCHLNAN' 
     890            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchlpic' ) THEN 
     891               clvars(1) = 'SLCHLPIC' 
     892            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'schltot' ) THEN 
     893               clvars(1) = 'SCHLTOT' 
     894            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slphytot' ) THEN 
     895               clvars(1) = 'SLPHYTOT' 
     896            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slphydia' ) THEN 
     897               clvars(1) = 'SLPHYDIA' 
     898            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slphynon' ) THEN 
     899               clvars(1) = 'SLPHYNON' 
     900            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sspm' ) THEN 
     901               clvars(1) = 'SSPM' 
     902            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'skd490' ) THEN 
     903               clvars(1) = 'SKD490' 
     904            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sfco2' ) THEN 
     905               clvars(1) = 'SFCO2' 
     906            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'spco2' ) THEN 
     907               clvars(1) = 'SPCO2' 
     908            ENDIF 
    824909 
    825910            !Read in surface obs types 
     
    828913               &               nvarssurf(jtype), nextrsurf(jtype), nitend-nit000+2, & 
    829914               &               rn_dobsini, rn_dobsend, ln_ignmis, .FALSE., & 
    830                &               llnightav(jtype), ltype_clim ) 
     915               &               llnightav(jtype), ltype_clim, clvars ) 
    831916 
    832917            CALL obs_pre_surf( surfdata(jtype), surfdataqc(jtype), ln_nea, ln_bound_reject ) 
     
    852937 
    853938            ENDIF 
     939             
     940            DEALLOCATE( clvars ) 
    854941 
    855942         END DO 
     
    9631050#if defined key_fabm 
    9641051      REAL(wp), POINTER, DIMENSION(:,:,:) :: & 
    965          & pco2_3d                 ! 3D pCO2 from FABM 
     1052         & fabm_3d                 ! 3D variable from FABM 
    9661053#endif 
    9671054       
     
    12111298         CALL wrk_alloc( jpi, jpj, zsurfmask ) 
    12121299#if defined key_fabm 
    1213          CALL wrk_alloc( jpi, jpj, jpk, pco2_3d ) 
     1300         CALL wrk_alloc( jpi, jpj, jpk, fabm_3d ) 
    12141301#endif 
    12151302 
     
    14441531#endif 
    14451532 
     1533            CASE('skd490') 
     1534#if defined key_hadocc 
     1535               CALL ctl_stop( ' Trying to run skd490 observation operator', & 
     1536                  &           ' but HadOCC does not explicitly simulate Kd490' ) 
     1537#elif defined key_medusa 
     1538               CALL ctl_stop( ' Trying to run skd490 observation operator', & 
     1539                  &           ' but MEDUSA does not explicitly simulate Kd490' ) 
     1540#elif defined key_fabm 
     1541               ! light_xEPS diagnostic variable 
     1542               fabm_3d(:,:,:) = fabm_get_interior_diagnostic_data(model, jp_fabm_xeps) 
     1543               zsurfvar(:,:) = fabm_3d(:,:,1) 
     1544#else 
     1545               CALL ctl_stop( ' Trying to run skd490 observation operator', & 
     1546                  &           ' but no biogeochemical model appears to have been defined' ) 
     1547#endif 
     1548 
    14461549            CASE('sfco2') 
    14471550#if defined key_hadocc 
     
    14581561#elif defined key_fabm 
    14591562               ! First, get pCO2 from FABM 
    1460                pco2_3d(:,:,:) = fabm_get_interior_diagnostic_data(model, jp_fabm_o3pc) 
    1461                zsurfvar(:,:) = pco2_3d(:,:,1) 
     1563               fabm_3d(:,:,:) = fabm_get_interior_diagnostic_data(model, jp_fabm_o3pc) 
     1564               zsurfvar(:,:) = fabm_3d(:,:,1) 
    14621565               ! Now, convert pCO2 to fCO2, based on SST in K. This follows the standard methodology of: 
    14631566               ! Pierrot et al. (2009), Recommendations for autonomous underway pCO2 measuring systems 
     
    14971600               zsurfvar(:,:) = f2_pco2w(:,:) 
    14981601#elif defined key_fabm 
    1499                pco2_3d(:,:,:) = fabm_get_interior_diagnostic_data(model, jp_fabm_o3pc) 
    1500                zsurfvar(:,:) = pco2_3d(:,:,1) 
     1602               fabm_3d(:,:,:) = fabm_get_interior_diagnostic_data(model, jp_fabm_o3pc) 
     1603               zsurfvar(:,:) = fabm_3d(:,:,1) 
    15011604#else 
    15021605               CALL ctl_stop( ' Trying to run spco2 observation operator', & 
     
    15331636         CALL wrk_dealloc( jpi, jpj, zsurfmask ) 
    15341637#if defined key_fabm 
    1535          CALL wrk_dealloc( jpi, jpj, jpk, pco2_3d ) 
     1638         CALL wrk_dealloc( jpi, jpj, jpk, fabm_3d ) 
    15361639#endif 
    15371640 
  • branches/UKMO/dev_r5518_obs_oper_update_SlaAssim/NEMOGCM/NEMO/OPA_SRC/OBS/obs_read_prof.F90

    r11468 r11863  
    4646      &                     kvars, kextr, kstp, ddobsini, ddobsend, & 
    4747      &                     ldvar, ldignmis, ldsatt, & 
    48       &                     ldmod, ldclim, kdailyavtypes ) 
     48      &                     ldmod, ldclim, cdvars, kdailyavtypes ) 
    4949      !!--------------------------------------------------------------------- 
    5050      !! 
     
    8181      REAL(dp), INTENT(IN) :: ddobsini  ! Obs. ini time in YYYYMMDD.HHMMSS 
    8282      REAL(dp), INTENT(IN) :: ddobsend  ! Obs. end time in YYYYMMDD.HHMMSS 
     83      CHARACTER(len=8), DIMENSION(kvars), INTENT(IN) :: cdvars 
    8384      INTEGER, DIMENSION(imaxavtypes), OPTIONAL :: & 
    8485         & kdailyavtypes                ! Types of daily average observations 
     
    8788      CHARACTER(LEN=15), PARAMETER :: cpname='obs_rea_prof' 
    8889      CHARACTER(len=8) :: clrefdate 
    89       CHARACTER(len=8), DIMENSION(:), ALLOCATABLE :: clvars 
     90      CHARACTER(len=8), DIMENSION(:), ALLOCATABLE :: clvarsin 
    9091      INTEGER :: jvar 
    9192      INTEGER :: ji 
     
    222223 
    223224            IF ( jj == 1 ) THEN 
    224                ALLOCATE( clvars( inpfiles(jj)%nvar ) ) 
     225               ALLOCATE( clvarsin( inpfiles(jj)%nvar ) ) 
    225226               DO ji = 1, inpfiles(jj)%nvar 
    226                  clvars(ji) = inpfiles(jj)%cname(ji) 
     227                 clvarsin(ji) = inpfiles(jj)%cname(ji) 
     228                 IF ( clvarsin(ji) /= cdvars(ji) ) THEN 
     229                    CALL ctl_stop( 'Feedback file variables do not match', & 
     230                        &           ' expected variable names for this type' ) 
     231                 ENDIF 
    227232               END DO 
    228233            ELSE 
    229234               DO ji = 1, inpfiles(jj)%nvar 
    230                   IF ( inpfiles(jj)%cname(ji) /= clvars(ji) ) THEN 
     235                  IF ( inpfiles(jj)%cname(ji) /= clvarsin(ji) ) THEN 
    231236                     CALL ctl_stop( 'Feedback file variables not consistent', & 
    232237                        &           ' with previous files for this type' ) 
     
    507512      profdata%nprof     = 0 
    508513      profdata%nvprot(:) = 0 
    509       profdata%cvars(:)  = clvars(:) 
     514      profdata%cvars(:)  = clvarsin(:) 
    510515      iprof = 0 
    511516 
     
    809814      ! Deallocate temporary data 
    810815      !----------------------------------------------------------------------- 
    811       DEALLOCATE( ifileidx, iprofidx, zdat, clvars ) 
     816      DEALLOCATE( ifileidx, iprofidx, zdat, clvarsin ) 
    812817 
    813818      !----------------------------------------------------------------------- 
  • branches/UKMO/dev_r5518_obs_oper_update_SlaAssim/NEMOGCM/NEMO/OPA_SRC/OBS/obs_read_surf.F90

    r11468 r11863  
    4040   SUBROUTINE obs_rea_surf( surfdata, knumfiles, cdfilenames, & 
    4141      &                     kvars, kextr, kstp, ddobsini, ddobsend, & 
    42       &                     ldignmis, ldmod, ldnightav, ldclim ) 
     42      &                     ldignmis, ldmod, ldnightav, ldclim, cdvars ) 
    4343      !!--------------------------------------------------------------------- 
    4444      !! 
     
    7474      REAL(dp), INTENT(IN) :: ddobsini   ! Obs. ini time in YYYYMMDD.HHMMSS 
    7575      REAL(dp), INTENT(IN) :: ddobsend   ! Obs. end time in YYYYMMDD.HHMMSS 
     76      CHARACTER(len=8), DIMENSION(kvars), INTENT(IN) :: cdvars 
    7677 
    7778      !! * Local declarations 
    7879      CHARACTER(LEN=11), PARAMETER :: cpname='obs_rea_surf' 
    7980      CHARACTER(len=8) :: clrefdate 
    80       CHARACTER(len=8), DIMENSION(:), ALLOCATABLE :: clvars 
     81      CHARACTER(len=8), DIMENSION(:), ALLOCATABLE :: clvarsin 
    8182      INTEGER :: ji 
    8283      INTEGER :: jj 
     
    182183               &                ldgrid = .TRUE. ) 
    183184 
     185            IF ( inpfiles(jj)%nvar /= kvars ) THEN 
     186               CALL ctl_stop( 'Feedback format error: ', & 
     187                  &           ' unexpected number of vars in feedback file' ) 
     188            ENDIF 
     189 
    184190            IF ( ldmod .AND. ( inpfiles(jj)%nadd == 0 ) ) THEN 
    185191               CALL ctl_stop( 'Model not in input data' ) 
     
    188194 
    189195            IF ( jj == 1 ) THEN 
    190                ALLOCATE( clvars( inpfiles(jj)%nvar ) ) 
     196               ALLOCATE( clvarsin( inpfiles(jj)%nvar ) ) 
    191197               DO ji = 1, inpfiles(jj)%nvar 
    192                  clvars(ji) = inpfiles(jj)%cname(ji) 
     198                 clvarsin(ji) = inpfiles(jj)%cname(ji) 
     199                 IF ( clvarsin(ji) /= cdvars(ji) ) THEN 
     200                    CALL ctl_stop( 'Feedback file variables do not match', & 
     201                        &           ' expected variable names for this type' ) 
     202                 ENDIF 
    193203               END DO 
    194204            ELSE 
    195205               DO ji = 1, inpfiles(jj)%nvar 
    196                   IF ( inpfiles(jj)%cname(ji) /= clvars(ji) ) THEN 
     206                  IF ( inpfiles(jj)%cname(ji) /= clvarsin(ji) ) THEN 
    197207                     CALL ctl_stop( 'Feedback file variables not consistent', & 
    198208                        &           ' with previous files for this type' ) 
     
    365375 
    366376      iobs = 0 
    367       surfdata%cvars(:)  = clvars(:) 
     377      surfdata%cvars(:)  = clvarsin(:) 
    368378      IF ( ldmod .AND. ( TRIM( surfdata%cvars(1) ) == 'SLA' ) ) THEN 
    369379         surfdata%cext(1) = 'SSH' 
     
    510520      ! Deallocate temporary data 
    511521      !----------------------------------------------------------------------- 
    512       DEALLOCATE( ifileidx, isurfidx, zdat, clvars ) 
     522      DEALLOCATE( ifileidx, isurfidx, zdat, clvarsin ) 
    513523 
    514524      !----------------------------------------------------------------------- 
  • branches/UKMO/dev_r5518_obs_oper_update_SlaAssim/NEMOGCM/NEMO/OPA_SRC/OBS/obs_write.F90

    r11468 r11863  
    541541         clgrid     = 'T' 
    542542          
    543       CASE('SLCHLTOT','LOGCHL','LogChl','logchl') 
     543      CASE('SLCHLTOT') 
    544544 
    545545         clfiletype = 'slchltotfb' 
     
    625625         clgrid     = 'T' 
    626626 
    627       CASE('SFCO2','FCO2','fCO2','fco2') 
     627      CASE('SKD490') 
     628 
     629         clfiletype = 'skd490fb' 
     630         cllongname = 'Surface attenuation coefficient of downwelling radiation at 490 nm' 
     631         clunits    = 'm-1' 
     632         clgrid     = 'T' 
     633 
     634      CASE('SFCO2') 
    628635 
    629636         clfiletype = 'sfco2fb' 
Note: See TracChangeset for help on using the changeset viewer.