Changeset 488
- Timestamp:
- 10/12/16 16:14:03 (8 years ago)
- Location:
- codes/icosagcm/trunk
- Files:
-
- 4 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/make_icosa
r347 r488 18 18 external_ioipsl="FALSE" 19 19 external_physics="FALSE" 20 no_io_defined="FALSE" 20 21 21 22 CPP_KEY="CPP_NONE" … … 63 64 "-with_xios") 64 65 with_xios_defined="TRUE" ; shift ;; 65 66 67 "-no_io") 68 no_io_defined="TRUE" ; shift ;; 69 66 70 "-external_ioipsl") 67 71 external_ioipsl="TRUE" ; shift ;; … … 141 145 fi 142 146 147 if [[ "$no_io_defined" == "TRUE" ]] 148 then 149 CPP_KEY="$CPP_KEY CPP_NO_IO" 150 with_xios_defined="FALSE" 151 fi 152 143 153 if [[ "$with_xios_defined" == "TRUE" ]] 144 154 then … … 164 174 fi 165 175 166 ICOSA_LIB="$ICOSA_LIB $NETCDF_LIBDIR $NETCDF_LIB $HDF5_LIBDIR $HDF5_LIB" 167 176 if [[ "$no_io_defined" == "FALSE" ]] 177 then 178 ICOSA_LIB="$ICOSA_LIB $NETCDF_LIBDIR $NETCDF_LIB $HDF5_LIBDIR $HDF5_LIB" 179 COMPIL_FFLAGS="$COMPIL_FFLAGS $NETCDF_INCDIR" 180 fi 168 181 169 182 rm -f config.fcm 170 183 171 echo "%COMPIL_FFLAGS $COMPIL_FFLAGS $NETCDF_INCDIR" >> config.fcm184 echo "%COMPIL_FFLAGS $COMPIL_FFLAGS" >> config.fcm 172 185 echo "%LD_FLAGS $LD_FLAGS" >> config.fcm 173 186 echo "%CPP_KEY $CPP_KEY" >> config.fcm -
codes/icosagcm/trunk/src/disvert.f90
r467 r488 192 192 INTEGER :: ncid,levid,ilevid,hyaiid,hybiid,hyamid,hybmid,P0id 193 193 INTEGER :: l 194 194 195 IF (no_io) RETURN 196 195 197 !$OMP BARRIER 196 198 !$OMP MASTER -
codes/icosagcm/trunk/src/netcdf_mod.F90
r398 r488 1 1 MODULE netcdf_mod 2 3 #ifndef CPP_NO_IO 4 2 5 USE netcdf 6 LOGICAL,PARAMETER :: no_io = .FALSE. 7 3 8 #ifndef CPP_NETCDF4 4 9 INTEGER :: NF90_NETCDF4 … … 28 33 END 29 34 #endif 35 36 37 #else 38 39 LOGICAL,PARAMETER :: no_io = .TRUE. 40 41 INTEGER :: NF90_NETCDF4 42 INTEGER :: NF90_MPIIO 43 INTEGER :: NF90_CHUNKED 44 45 INTEGER,EXTERNAL :: NF90_CREATE_PAR 46 INTEGER,EXTERNAL :: NF90_DEF_VAR_CHUNKING 47 INTEGER,EXTERNAL :: NF90_CREATE 48 INTEGER,EXTERNAL :: NF90_DEF_DIM 49 INTEGER,EXTERNAL :: NF90_PUT_ATT 50 INTEGER,EXTERNAL :: NF90_ENDDEF 51 INTEGER,EXTERNAL :: NF90_CLOSE 52 INTEGER,EXTERNAL :: NF90_SYNC 53 INTEGER,EXTERNAL :: NF90_OPEN 54 INTEGER,EXTERNAL :: NF90_INQ_VARID 55 INTEGER,EXTERNAL :: NF90_GET_ATT 56 57 INTEGER :: NF90_NOWRITE 58 INTEGER :: NF90_CLOBBER 59 INTEGER :: NF90_UNLIMITED 60 INTEGER :: NF90_DOUBLE 61 INTEGER :: NF90_FLOAT 62 INTEGER :: NF90_GLOBAL 63 64 INTERFACE nf90_put_var 65 MODULE PROCEDURE nf90_put_var_int0, nf90_put_var_int1, nf90_put_var_int2, nf90_put_var_int3,& 66 nf90_put_var_real0, nf90_put_var_real1, nf90_put_var_real2, nf90_put_var_real3 67 END INTERFACE nf90_put_var 68 69 INTERFACE nf90_get_var 70 MODULE PROCEDURE nf90_get_var_int0, nf90_get_var_int1, nf90_get_var_int2, nf90_get_var_int3,& 71 nf90_get_var_real0, nf90_get_var_real1, nf90_get_var_real2, nf90_get_var_real3 72 END INTERFACE nf90_get_var 73 74 CONTAINS 75 76 function nf90_def_var(ncid, name, xtype, dimids, varid) 77 integer, intent( in) :: ncid 78 character (len = *), intent( in) :: name 79 integer, intent( in) :: xtype 80 integer, dimension(:), optional, intent( in) :: dimids 81 integer, intent(out) :: varid 82 integer :: nf90_def_var 83 end function nf90_def_var 84 85 86 function nf90_put_var_int0(ncid, varid, values, start, count, stride, map) 87 integer, intent( in) :: ncid, varid 88 integer, intent( in) :: values 89 integer, dimension(:), optional, intent( in) :: start, count, stride, map 90 integer :: nf90_put_var_int0 91 end function nf90_put_var_int0 92 93 function nf90_put_var_int1(ncid, varid, values, start, count, stride, map) 94 integer, intent( in) :: ncid, varid 95 integer, intent( in) :: values(:) 96 integer, dimension(:), optional, intent( in) :: start, count, stride, map 97 integer :: nf90_put_var_int1 98 end function nf90_put_var_int1 99 100 function nf90_put_var_int2(ncid, varid, values, start, count, stride, map) 101 integer, intent( in) :: ncid, varid 102 integer, intent( in) :: values(:,:) 103 integer, dimension(:), optional, intent( in) :: start, count, stride, map 104 integer :: nf90_put_var_int2 105 end function nf90_put_var_int2 106 107 function nf90_put_var_int3(ncid, varid, values, start, count, stride, map) 108 integer, intent( in) :: ncid, varid 109 integer, intent( in) :: values(:,:,:) 110 integer, dimension(:), optional, intent( in) :: start, count, stride, map 111 integer :: nf90_put_var_int3 112 end function nf90_put_var_int3 113 114 function nf90_put_var_real0(ncid, varid, values, start, count, stride, map) 115 integer, intent( in) :: ncid, varid 116 real, intent( in) :: values 117 integer, dimension(:), optional, intent( in) :: start, count, stride, map 118 integer :: nf90_put_var_real0 119 end function nf90_put_var_real0 120 121 function nf90_put_var_real1(ncid, varid, values, start, count, stride, map) 122 integer, intent( in) :: ncid, varid 123 real, intent( in) :: values(:) 124 integer, dimension(:), optional, intent( in) :: start, count, stride, map 125 integer :: nf90_put_var_real1 126 end function nf90_put_var_real1 127 128 function nf90_put_var_real2(ncid, varid, values, start, count, stride, map) 129 integer, intent( in) :: ncid, varid 130 real, intent( in) :: values(:,:) 131 integer, dimension(:), optional, intent( in) :: start, count, stride, map 132 integer :: nf90_put_var_real2 133 end function nf90_put_var_real2 134 135 function nf90_put_var_real3(ncid, varid, values, start, count, stride, map) 136 integer, intent( in) :: ncid, varid 137 real, intent( in) :: values(:,:,:) 138 integer, dimension(:), optional, intent( in) :: start, count, stride, map 139 integer :: nf90_put_var_real3 140 end function nf90_put_var_real3 141 142 143 function nf90_get_var_int0(ncid, varid, values, start, count, stride, map) 144 integer, intent( in) :: ncid, varid 145 integer, intent( out) :: values 146 integer, dimension(:), optional, intent( in) :: start, count, stride, map 147 integer :: nf90_get_var_int0 148 end function nf90_get_var_int0 149 150 function nf90_get_var_int1(ncid, varid, values, start, count, stride, map) 151 integer, intent( in) :: ncid, varid 152 integer, intent( out) :: values(:) 153 integer, dimension(:), optional, intent( in) :: start, count, stride, map 154 integer :: nf90_get_var_int1 155 end function nf90_get_var_int1 156 157 function nf90_get_var_int2(ncid, varid, values, start, count, stride, map) 158 integer, intent( in) :: ncid, varid 159 integer, intent( out) :: values(:,:) 160 integer, dimension(:), optional, intent( in) :: start, count, stride, map 161 integer :: nf90_get_var_int2 162 end function nf90_get_var_int2 163 164 function nf90_get_var_int3(ncid, varid, values, start, count, stride, map) 165 integer, intent( in) :: ncid, varid 166 integer, intent( out) :: values(:,:,:) 167 integer, dimension(:), optional, intent( in) :: start, count, stride, map 168 integer :: nf90_get_var_int3 169 end function nf90_get_var_int3 170 171 function nf90_get_var_real0(ncid, varid, values, start, count, stride, map) 172 integer, intent( in) :: ncid, varid 173 real, intent( out) :: values 174 integer, dimension(:), optional, intent( in) :: start, count, stride, map 175 integer :: nf90_get_var_real0 176 end function nf90_get_var_real0 177 178 function nf90_get_var_real1(ncid, varid, values, start, count, stride, map) 179 integer, intent( in) :: ncid, varid 180 real, intent( out) :: values(:) 181 integer, dimension(:), optional, intent( in) :: start, count, stride, map 182 integer :: nf90_get_var_real1 183 end function nf90_get_var_real1 184 185 function nf90_get_var_real2(ncid, varid, values, start, count, stride, map) 186 integer, intent( in) :: ncid, varid 187 real, intent( out) :: values(:,:) 188 integer, dimension(:), optional, intent( in) :: start, count, stride, map 189 integer :: nf90_get_var_real2 190 end function nf90_get_var_real2 191 192 function nf90_get_var_real3(ncid, varid, values, start, count, stride, map) 193 integer, intent( in) :: ncid, varid 194 real, intent( out) :: values(:,:,:) 195 integer, dimension(:), optional, intent( in) :: start, count, stride, map 196 integer :: nf90_get_var_real3 197 end function nf90_get_var_real3 198 199 END MODULE netcdf_mod 200 201 SUBROUTINE NF90_CREATE_PAR 202 END 203 204 SUBROUTINE NF90_DEF_VAR_CHUNKING 205 END 206 207 SUBROUTINE NF90_CREATE 208 END 209 210 SUBROUTINE NF90_DEF_DIM 211 END 212 213 SUBROUTINE NF90_PUT_ATT 214 END 215 216 SUBROUTINE NF90_ENDDEF 217 END 218 219 SUBROUTINE NF90_CLOSE 220 END 221 222 SUBROUTINE NF90_SYNC 223 END 224 225 SUBROUTINE NF90_OPEN 226 END 227 228 SUBROUTINE NF90_INQ_VARID 229 END 230 231 SUBROUTINE NF90_GET_ATT 232 END 233 234 #endif 235 -
codes/icosagcm/trunk/src/restart.f90
r483 r488 70 70 REAL(rstd),ALLOCATABLE :: lon(:),lat(:),bounds_lon(:,:),bounds_lat(:,:) 71 71 72 IF (no_io) RETURN 73 72 74 restart_file_name="restart" 73 75 CALL getin("restart_file_name",restart_file_name) … … 419 421 REAL(rstd),ALLOCATABLE :: lon(:),lat(:),bounds_lon(:,:),bounds_lat(:,:) 420 422 REAL(rstd) :: it_temp(1) 423 424 IF (no_io) RETURN 425 421 426 start_file_name="start" 422 427 CALL getin("start_file_name",start_file_name) -
codes/icosagcm/trunk/src/time.f90
r347 r488 105 105 CHARACTER(LEN=255) :: time_frequency 106 106 107 IF (no_io) RETURN 107 108 CALL getin("dt",dt) 108 109 109 110 !$OMP BARRIER 110 111 !$OMP MASTER 111 IF (is_mpi_root ) THEN112 IF (is_mpi_root ) THEN 112 113 status = NF90_CREATE('time_counter.nc', NF90_CLOBBER, ncid) 113 114 status = NF90_DEF_DIM(ncid,'time_counter',NF90_UNLIMITED,timeid) … … 141 142 REAL(rstd) ::time_array(1) 142 143 144 IF (no_io) RETURN 145 143 146 !$OMP BARRIER 144 147 !$OMP MASTER … … 160 163 IMPLICIT NONE 161 164 INTEGER :: status 165 166 IF (no_io) RETURN 162 167 163 168 !$OMP BARRIER -
codes/icosagcm/trunk/src/write_field.f90
r378 r488 27 27 use netcdf_mod 28 28 CHARACTER(LEN=255) :: netcdf_prec 29 29 30 !$OMP CRITICAL 30 31 netcdf_prec='float' … … 68 69 USE dimensions 69 70 USE mpipara 71 USE netcdf_mod 70 72 IMPLICIT NONE 71 73 CHARACTER(LEN=*),INTENT(IN) :: name_in … … 76 78 77 79 TYPE(t_field),POINTER :: field_glo(:) 78 80 81 IF (no_io) RETURN 82 79 83 !$OMP BARRIER 80 84 !$OMP MASTER … … 1777 1781 1778 1782 SUBROUTINE Close_files 1779 USE netcdf 1783 USE netcdf_mod 1780 1784 IMPLICIT NONE 1781 1785 INTEGER :: i,k,status -
codes/icosagcm/trunk/tools/ioipsl/ioipsl.f90
r11 r488 8 8 USE errioipsl 9 9 USE stringop 10 USE mathelp10 ! USE mathelp 11 11 USE getincom 12 USE calendar13 USE fliocom14 USE flincom15 USE histcom16 USE restcom12 ! USE calendar 13 ! USE fliocom 14 ! USE flincom 15 ! USE histcom 16 ! USE restcom 17 17 END MODULE ioipsl
Note: See TracChangeset
for help on using the changeset viewer.