MODULE module_xios USE module_domain , ONLY : domain, get_ijk_from_grid USE module_configure , ONLY : grid_config_rec_type USE module_driver_constants, ONLY : max_domains IMPLICIT NONE PRIVATE PUBLIC xios_initmodel, xios_finalizemodel PUBLIC xios_initdomain, xios_finalizedomain PUBLIC xios_def_field, xios_def_gblatt PUBLIC xios_settime, xios_put LOGICAL, PARAMETER, PUBLIC :: xios_on = .FALSE. LOGICAL, DIMENSION(1,1), PUBLIC :: xios_need INTERFACE xios_def_gblatt MODULE PROCEDURE xios_def_gblatt_char, xios_def_gblatt_int, xios_def_gblatt_real END INTERFACE xios_def_gblatt INTERFACE xios_put MODULE PROCEDURE xios_p2d, xios_p3d END INTERFACE xios_put CONTAINS SUBROUTINE xios_initmodel( kl_comm, ldcoupler_on ) INTEGER, INTENT(INOUT) :: kl_comm LOGICAL, INTENT(IN ) :: ldcoupler_on IF (.FALSE.) WRITE(*,*) kl_comm, ldcoupler_on END SUBROUTINE xios_initmodel SUBROUTINE xios_initdomain( grid, config_flags ) TYPE(domain), INTENT(IN), POINTER :: grid TYPE(grid_config_rec_type), INTENT(IN) :: config_flags IF (.FALSE.) WRITE(*,*) config_flags END SUBROUTINE xios_initdomain SUBROUTINE xios_finalizedomain( kid ) INTEGER, INTENT(IN) :: kid IF (.FALSE.) WRITE(*,*) kid END SUBROUTINE xios_finalizedomain SUBROUTINE xios_finalizemodel() IF (.FALSE.) WRITE(*,*) 'nothing' END SUBROUTINE xios_finalizemodel SUBROUTINE xios_settime( kgrdid, ktime ) INTEGER, INTENT(in) :: kgrdid INTEGER, INTENT(in) :: ktime IF (.FALSE.) WRITE(*,*) kgrdid, ktime END SUBROUTINE xios_settime SUBROUTINE xios_def_field( kvarid, cdname, cddesc, cdunit, cdstag, kndim ) INTEGER, INTENT(in) :: kvarid CHARACTER(LEN=*), INTENT(in) :: cdname CHARACTER(LEN=*), INTENT(in) :: cddesc CHARACTER(LEN=*), INTENT(in) :: cdunit CHARACTER(LEN=*), INTENT(in) :: cdstag INTEGER, INTENT(in) :: kndim IF (.FALSE.) WRITE(*,*) kvarid, cdname, cddesc, cdunit, cdstag, kndim END SUBROUTINE xios_def_field SUBROUTINE xios_def_gblatt_char( cdname, cvalue ) CHARACTER(LEN=*), INTENT(in) :: cdname CHARACTER(LEN=*), INTENT(in) :: cvalue IF (.FALSE.) WRITE(*,*) cdname, cvalue END SUBROUTINE xios_def_gblatt_char SUBROUTINE xios_def_gblatt_int ( cdname, kvalue ) CHARACTER(LEN=*), INTENT(in) :: cdname INTEGER , INTENT(in) :: kvalue IF (.FALSE.) WRITE(*,*) cdname, kvalue END SUBROUTINE xios_def_gblatt_int SUBROUTINE xios_def_gblatt_real( cdname, pvalue ) CHARACTER(LEN=*), INTENT(in) :: cdname REAL , INTENT(in) :: pvalue IF (.FALSE.) WRITE(*,*) cdname, pvalue END SUBROUTINE xios_def_gblatt_real SUBROUTINE xios_p2d( kgrdid, cdname, pfield2d, cdstag & & , ids,ide,jds,jde,kds,kde & & , ims,ime,jms,jme,kms,kme & & , ips,ipe,jps,jpe,kps,kpe, kvarid ) INTEGER, INTENT(in) :: kgrdid CHARACTER(LEN=*), INTENT(in) :: cdname REAL,DIMENSION(ims:ime,jms:jme), INTENT(in) :: pfield2d CHARACTER(LEN=*), INTENT(in) :: cdstag INTEGER, INTENT(in) :: ids,ide,jds,jde,kds,kde INTEGER, INTENT(in) :: ims,ime,jms,jme,kms,kme INTEGER, INTENT(in) :: ips,ipe,jps,jpe,kps,kpe INTEGER, OPTIONAL, INTENT(in) :: kvarid IF (.FALSE.) WRITE(*,*) kgrdid, kvarid, cdname, pfield2d, cdstag END SUBROUTINE xios_p2d SUBROUTINE xios_p3d( kgrdid, cdname, pfield3d, cdstag & & , ids,ide,jds,jde,kds,kde & & , ims,ime,jms,jme,kms,kme & & , ips,ipe,jps,jpe,kps,kpe, kvarid ) INTEGER, INTENT(in) :: kgrdid CHARACTER(LEN=*), INTENT(in) :: cdname REAL,DIMENSION(ims:ime,kms:kme,jms:jme), INTENT(in) :: pfield3d CHARACTER(LEN=*), INTENT(in) :: cdstag INTEGER, INTENT(in) :: ids,ide,jds,jde,kds,kde INTEGER, INTENT(in) :: ims,ime,jms,jme,kms,kme INTEGER, INTENT(in) :: ips,ipe,jps,jpe,kps,kpe INTEGER, OPTIONAL, INTENT(in) :: kvarid IF (.FALSE.) WRITE(*,*) kgrdid, kvarid, cdname, pfield3d, cdstag END SUBROUTINE xios_p3d END MODULE module_xios