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 6827 for branches/2016/dev_r6409_SIMPLIF_2_usrdef_tools/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90 – NEMO

Ignore:
Timestamp:
2016-08-01T15:37:15+02:00 (8 years ago)
Author:
flavoni
Message:

#1692 - branch SIMPLIF_2_usrdef: commit routines Fortran to create domain_cfg.nc file, to have domain (input) files for new simplification branch. To be moved in TOOLS directory

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef_tools/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r6519 r6827  
    2020   !!-------------------------------------------------------------------- 
    2121   USE dom_oce         ! ocean space and time domain 
    22    USE c1d             ! 1D vertical configuration 
    23    USE flo_oce         ! floats module declarations 
    2422   USE lbclnk          ! lateal boundary condition / mpp exchanges 
    2523   USE iom_def         ! iom variables definitions 
    2624   USE iom_nf90        ! NetCDF format with native NetCDF library 
    2725   USE in_out_manager  ! I/O manager 
    28    USE lib_mpp           ! MPP library 
    29 #if defined key_iomput 
    30    USE sbc_oce, ONLY :   nn_fsbc         ! ocean space and time domain 
    31    USE trc_oce, ONLY :   nn_dttrc        !  !: frequency of step on passive tracers 
    32    USE icb_oce, ONLY :   nclasses, class_num       !  !: iceberg classes 
    33 #if defined key_lim3 
    34    USE ice    , ONLY :   jpl 
    35 #elif defined key_lim2 
    36    USE par_ice_2 
    37 #endif 
     26   USE lib_mpp         ! MPP library 
    3827   USE domngb          ! ocean space and time domain 
    3928   USE phycst          ! physical constants 
    40    USE dianam          ! build name of file 
     29 !SF  USE dianam          ! build name of file 
    4130   USE xios 
    42 # endif 
    4331   USE ioipsl, ONLY :  ju2ymds    ! for calendar 
    44    USE crs             ! Grid coarsening 
    4532 
    4633   IMPLICIT NONE 
     
    139126      ENDIF 
    140127 
    141       IF( TRIM(cdname) == TRIM(cxios_context)//"_crs" ) THEN   
    142          CALL dom_grid_crs   ! Save the parent grid information  & Switch to coarse grid domain 
    143          ! 
    144          CALL set_grid( "T", glamt_crs, gphit_crs )  
    145          CALL set_grid( "U", glamu_crs, gphiu_crs )  
    146          CALL set_grid( "V", glamv_crs, gphiv_crs )  
    147          CALL set_grid( "W", glamt_crs, gphit_crs )  
    148          CALL set_grid_znl( gphit_crs ) 
    149           ! 
    150          CALL dom_grid_glo   ! Return to parent grid domain 
    151          ! 
    152          IF( ln_cfmeta ) THEN   ! Add additional grid metadata 
    153             CALL iom_set_domain_attr("grid_T", area = e1e2t_crs(nldi:nlei, nldj:nlej)) 
    154             CALL iom_set_domain_attr("grid_U", area = e1u_crs(nldi:nlei, nldj:nlej) * e2u_crs(nldi:nlei, nldj:nlej)) 
    155             CALL iom_set_domain_attr("grid_V", area = e1v_crs(nldi:nlei, nldj:nlej) * e2v_crs(nldi:nlei, nldj:nlej)) 
    156             CALL iom_set_domain_attr("grid_W", area = e1e2t_crs(nldi:nlei, nldj:nlej)) 
    157             CALL set_grid_bounds( "T", glamf_crs, gphif_crs, glamt_crs, gphit_crs ) 
    158             CALL set_grid_bounds( "U", glamv_crs, gphiv_crs, glamu_crs, gphiu_crs ) 
    159             CALL set_grid_bounds( "V", glamu_crs, gphiu_crs, glamv_crs, gphiv_crs ) 
    160             CALL set_grid_bounds( "W", glamf_crs, gphif_crs, glamt_crs, gphit_crs ) 
    161          ENDIF 
    162       ENDIF 
    163  
    164128      ! vertical grid definition 
    165129      CALL iom_set_axis_attr( "deptht", gdept_1d ) 
     
    180144      CALL iom_set_axis_attr( "depthw", bounds=z_bnds ) 
    181145 
    182 # if defined key_floats 
    183       CALL iom_set_axis_attr( "nfloat", (/ (REAL(ji,wp), ji=1,nfloat) /) ) 
    184 # endif 
    185 #if defined key_lim3 || defined key_lim2 
    186       CALL iom_set_axis_attr( "ncatice", (/ (REAL(ji,wp), ji=1,jpl) /) ) 
    187 #endif 
    188       CALL iom_set_axis_attr( "icbcla", class_num ) 
    189146      CALL iom_set_axis_attr( "iax_20C", (/ REAL(20,wp) /) ) 
    190147      CALL iom_set_axis_attr( "iax_28C", (/ REAL(28,wp) /) ) 
     
    882839            ENDIF 
    883840             
    884             ! C1D case : always call lbc_lnk to replicate the central value over the whole 3X3 domain 
    885             IF( lk_c1d .AND. PRESENT(pv_r2d) )   CALL lbc_lnk( pv_r2d,'Z',1. ) 
    886             IF( lk_c1d .AND. PRESENT(pv_r3d) )   CALL lbc_lnk( pv_r3d,'Z',1. ) 
    887      
    888841            !--- Apply scale_factor and offset 
    889842            zscf = iom_file(kiomid)%scf(idvar)      ! scale factor 
     
    14591412      ! frequency of the call of iom_put (attribut: freq_op) 
    14601413      WRITE(cl1,'(i1)')        1   ;   CALL iom_set_field_attr('field_definition', freq_op = cl1//'ts', freq_offset='0ts') 
    1461       WRITE(cl1,'(i1)')  nn_fsbc   ;   CALL iom_set_field_attr('SBC'             , freq_op = cl1//'ts', freq_offset='0ts') 
    1462       WRITE(cl1,'(i1)')  nn_fsbc   ;   CALL iom_set_field_attr('SBC_scalar'      , freq_op = cl1//'ts', freq_offset='0ts') 
    1463       WRITE(cl1,'(i1)') nn_dttrc   ;   CALL iom_set_field_attr('ptrc_T'          , freq_op = cl1//'ts', freq_offset='0ts') 
    1464       WRITE(cl1,'(i1)') nn_dttrc   ;   CALL iom_set_field_attr('diad_T'          , freq_op = cl1//'ts', freq_offset='0ts') 
    14651414        
    14661415      ! output file names (attribut: name) 
Note: See TracChangeset for help on using the changeset viewer.