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 13576 for branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC/DIA/dia25h.F90 – NEMO

Ignore:
Timestamp:
2020-10-09T12:35:11+02:00 (4 years ago)
Author:
dford
Message:

Update NEMO-FABM coupler for FABM v1, and introduce two-way NEMO-ERSEM coupling options. See https://code.metoffice.gov.uk/trac/utils/ticket/366.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC/DIA/dia25h.F90

    r10390 r13576  
    2525   USE par_fabm 
    2626   USE st2d_fabm, ONLY: fabm_st2dn 
    27    USE fabm, ONLY: fabm_get_interior_diagnostic_data, & 
    28       &            fabm_get_horizontal_diagnostic_data 
    2927#endif 
    3028 
     
    211209      END DO 
    212210      DO jn = 1, jp_fabm_3d 
    213          fabm_3d_25h(:,:,:,jn) = fabm_get_interior_diagnostic_data(model, jn) 
     211         IF (iom_use(TRIM(model%interior_diagnostic_variables(jn)%name)//'25h')) THEN 
     212            fabm_3d_25h(:,:,:,jn) = model%get_interior_diagnostic_data(jn) 
     213         ENDIF 
    214214      END DO 
    215215      DO jn = 1, jp_fabm_surface 
     
    220220      END DO 
    221221      DO jn = 1, jp_fabm_2d 
    222          fabm_2d_25h(:,:,jn) = fabm_get_horizontal_diagnostic_data(model,jn) 
     222         IF (iom_use(TRIM(model%horizontal_diagnostic_variables(jn)%name)//'25h')) THEN 
     223            fabm_2d_25h(:,:,jn) = model%get_horizontal_diagnostic_data(jn) 
     224         ENDIF 
    223225      END DO 
    224226#endif 
     
    327329      END DO 
    328330      DO jn = 1, jp_fabm_3d 
    329          fabm_3d_25h(:,:,:,jn) = fabm_3d_25h(:,:,:,jn) + fabm_get_interior_diagnostic_data(model, jn) 
     331         IF (iom_use(TRIM(model%interior_diagnostic_variables(jn)%name)//'25h')) THEN 
     332            fabm_3d_25h(:,:,:,jn) = fabm_3d_25h(:,:,:,jn) + model%get_interior_diagnostic_data(jn) 
     333         ENDIF 
    330334      END DO 
    331335      DO jn = 1, jp_fabm_surface 
     
    336340      END DO 
    337341      DO jn = 1, jp_fabm_2d 
    338          fabm_2d_25h(:,:,jn) = fabm_2d_25h(:,:,jn) + fabm_get_horizontal_diagnostic_data(model,jn) 
     342         IF (iom_use(TRIM(model%horizontal_diagnostic_variables(jn)%name)//'25h')) THEN 
     343            fabm_2d_25h(:,:,jn) = fabm_2d_25h(:,:,jn) + model%get_horizontal_diagnostic_data(jn) 
     344         ENDIF 
    339345      END DO 
    340346#endif 
     
    401407            DO jn = 1, jp_fabm 
    402408               zw3d(:,:,:) = fabm_25h(:,:,:,jn)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 
    403                CALL iom_put( TRIM(model%state_variables(jn)%name)//"25h", zw3d  ) 
     409               CALL iom_put( TRIM(model%interior_state_variables(jn)%name)//"25h", zw3d  ) 
    404410            END DO 
    405411            DO jn = 1, jp_fabm_3d 
    406                zw3d(:,:,:) = fabm_3d_25h(:,:,:,jn)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 
    407                CALL iom_put( TRIM(model%diagnostic_variables(jn)%name)//"25h", zw3d  ) 
     412               IF (iom_use(TRIM(model%interior_diagnostic_variables(jn)%name)//'25h')) THEN 
     413                  zw3d(:,:,:) = fabm_3d_25h(:,:,:,jn)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 
     414                  CALL iom_put( TRIM(model%interior_diagnostic_variables(jn)%name)//"25h", zw3d  ) 
     415               ENDIF 
    408416            END DO 
    409417            DO jn = 1, jp_fabm_surface 
     
    416424            END DO 
    417425            DO jn = 1, jp_fabm_2d 
    418                zw2d(:,:) = fabm_2d_25h(:,:,jn)*tmask(:,:,1) + zmdi*(1.0-tmask(:,:,1)) 
    419                CALL iom_put( TRIM(model%horizontal_diagnostic_variables(jn)%name)//"25h", zw2d  ) 
     426               IF (iom_use(TRIM(model%horizontal_diagnostic_variables(jn)%name)//'25h')) THEN 
     427                  zw2d(:,:) = fabm_2d_25h(:,:,jn)*tmask(:,:,1) + zmdi*(1.0-tmask(:,:,1)) 
     428                  CALL iom_put( TRIM(model%horizontal_diagnostic_variables(jn)%name)//"25h", zw2d  ) 
     429               ENDIF 
    420430            END DO 
    421431#endif 
     
    468478      END DO 
    469479      DO jn = 1, jp_fabm_3d 
    470          fabm_3d_25h(:,:,:,jn) = fabm_get_interior_diagnostic_data(model, jn) 
     480         IF (iom_use(TRIM(model%interior_diagnostic_variables(jn)%name)//'25h')) THEN 
     481            fabm_3d_25h(:,:,:,jn) = model%get_interior_diagnostic_data(jn) 
     482         ENDIF 
    471483      END DO 
    472484      DO jn = 1, jp_fabm_surface 
     
    477489      END DO 
    478490      DO jn = 1, jp_fabm_2d 
    479          fabm_2d_25h(:,:,jn) = fabm_get_horizontal_diagnostic_data(model,jn) 
     491         IF (iom_use(TRIM(model%horizontal_diagnostic_variables(jn)%name)//'25h')) THEN 
     492            fabm_2d_25h(:,:,jn) = model%get_horizontal_diagnostic_data(jn) 
     493         ENDIF 
    480494      END DO 
    481495#endif 
Note: See TracChangeset for help on using the changeset viewer.