Changeset 4863 for IOIPSL/trunk/src/restcom.f90
- Timestamp:
- 12/16/19 14:33:26 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
IOIPSL/trunk/src/restcom.f90
r4747 r4863 139 139 ! A flag which markes the variables we have worked on : touched_* 140 140 !- 141 CHARACTER(LEN=20),DIMENSION(max_file,max_var),SAVE :: & 141 INTEGER, PARAMETER :: clen = 100 142 CHARACTER(LEN=clen),DIMENSION(max_file,max_var),SAVE :: & 142 143 & varname_in,varname_out 143 144 INTEGER,DIMENSION(max_file,max_var),SAVE :: & … … 1090 1091 'restart file is not allowed.',topp) 1091 1092 ENDIF 1093 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 1094 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 1092 1095 !----------------------------- 1093 1096 END SUBROUTINE restget_opp_r1d … … 1170 1173 'restart file is not allowed.',topp) 1171 1174 ENDIF 1175 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 1176 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 1172 1177 !----------------------------- 1173 1178 END SUBROUTINE restget_opp_r2d … … 1258 1263 'restart file is not allowed.',topp) 1259 1264 ENDIF 1265 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 1266 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 1260 1267 !----------------------------- 1261 1268 END SUBROUTINE restget_opp_r3d … … 1336 1343 'restart file is not allowed.',topp) 1337 1344 ENDIF 1345 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 1346 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 1338 1347 !----------------------------- 1339 1348 END SUBROUTINE restget_opp_r4d … … 1416 1425 'restart file is not allowed.',topp) 1417 1426 ENDIF 1427 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 1428 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 1418 1429 !----------------------------- 1419 1430 END SUBROUTINE restget_opp_r5d … … 1482 1493 var(ji) = buff_tmp1(jl) 1483 1494 ENDDO 1495 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 1496 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 1484 1497 !------------------------- 1485 1498 END SUBROUTINE restget_r1d … … 1552 1565 ENDDO 1553 1566 ENDDO 1567 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 1568 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 1554 1569 !------------------------- 1555 1570 END SUBROUTINE restget_r2d … … 1625 1640 ENDDO 1626 1641 ENDDO 1642 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 1643 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 1627 1644 !------------------------- 1628 1645 END SUBROUTINE restget_r3d … … 1880 1897 & (fid,vname_q,list_dims,itau,buff_tmp2) 1881 1898 !----------------------------- 1899 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 1900 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 1882 1901 END SUBROUTINE restput_opp_r1d 1883 1902 !=== … … 1965 1984 CALL restput_real (fid,vname_q, list_dims,itau,buff_tmp2) 1966 1985 !----------------------------- 1986 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 1987 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 1967 1988 END SUBROUTINE restput_opp_r2d 1968 1989 !=== … … 2049 2070 & (fid,vname_q,list_dims,itau,buff_tmp2) 2050 2071 !----------------------------- 2072 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 2073 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 2051 2074 END SUBROUTINE restput_opp_r3d 2052 2075 !=== … … 2135 2158 & (fid,vname_q,list_dims,itau,buff_tmp2) 2136 2159 !----------------------------- 2160 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 2161 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 2137 2162 END SUBROUTINE restput_opp_r4d 2138 2163 !=== … … 2223 2248 & (fid,vname_q,list_dims,itau,buff_tmp2) 2224 2249 !----------------------------- 2250 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 2251 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 2225 2252 END SUBROUTINE restput_opp_r5d 2226 2253 !=== … … 2283 2310 CALL restput_real (fid,vname_q,list_dims,itau,buff_tmp1) 2284 2311 !------------------------- 2312 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 2313 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 2285 2314 END SUBROUTINE restput_r1d 2286 2315 !=== … … 2345 2374 CALL restput_real(fid,vname_q,list_dims,itau,buff_tmp1) 2346 2375 !------------------------- 2376 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 2377 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 2347 2378 END SUBROUTINE restput_r2d 2348 2379 !=== … … 2411 2442 CALL restput_real(fid,vname_q,list_dims,itau,buff_tmp1) 2412 2443 !------------------------- 2444 IF (ALLOCATED(buff_tmp1)) DEALLOCATE(buff_tmp1) 2445 IF (ALLOCATED(buff_tmp2)) DEALLOCATE(buff_tmp2) 2413 2446 END SUBROUTINE restput_r3d 2414 2447 !=== … … 2596 2629 CHARACTER(LEN=3) :: str 2597 2630 LOGICAL :: l_dbg 2631 2632 CHARACTER(len=clen+10) :: str1, str2 2598 2633 !--------------------------------------------------------------------- 2599 2634 CALL ipsldbg (old_status=l_dbg) … … 2625 2660 ENDIF 2626 2661 nbvar_out(fid) = nbvar_out(fid)+1 2662 IF (len(trim(varname)) .GT. clen) THEN 2663 write(str1,*) "Maximum length allowed: ", clen 2664 write(str1,*) "But found: ", len(trim(varname)) 2665 CALL ipslerr (3,'restdefv', & 2666 'Variable name too long for variable '//trim(varname), & 2667 str1, str2) 2668 ENDIF 2669 2627 2670 varname_out(fid,nbvar_out(fid)) = varname 2628 2671 !-
Note: See TracChangeset
for help on using the changeset viewer.