Changeset 2793 for LMDZ5/trunk/libf/phylmd/iophys.F90
- Timestamp:
- Feb 16, 2017, 8:57:30 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/iophys.F90
r2734 r2793 1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2 ! Interface pour ecrire en netcdf avec les routines d'enseignement 3 ! iotd de Frederic Hourdin 4 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 5 1 6 subroutine iophys_ecrit(nom,lllm,titre,unite,px) 2 7 … … 62 67 end 63 68 69 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 70 ! Version avec reindexation pour appeler depuis les routines internes 71 ! à la sous surface 72 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 73 74 75 subroutine iophys_ecrit_index(nom,lllm,titre,unite,knon,knindex,px) 76 77 USE mod_phys_lmdz_para, ONLY: klon_omp 78 USE dimphy, ONLY : klon 79 USE mod_grid_phy_lmdz, ONLY: klon_glo 80 IMPLICIT NONE 81 82 ! This subroutine returns the sea surface temperature already read from limit.nc 83 ! 84 85 ! Arguments on input: 86 INTEGER lllm 87 CHARACTER (len=*) :: nom,titre,unite 88 REAL px(klon_omp,lllm) 89 INTEGER, INTENT(IN) :: knon ! nomber of points on compressed grid 90 INTEGER, DIMENSION(klon), INTENT(IN) :: knindex ! grid point number for compressed grid 91 REAL, DIMENSION(klon,lllm) :: varout 92 93 INTEGER :: i,l 94 95 IF (klon/=klon_omp) THEN 96 print*,'klon, klon_omp',klon,klon_omp 97 STOP'probleme de dimension parallele' 98 ENDIF 99 100 varout(1:klon,1:lllm)=0. 101 DO l = 1, lllm 102 DO i = 1, knon 103 varout(knindex(i),l) = px(i,l) 104 END DO 105 END DO 106 CALL iophys_ecrit(nom,lllm,titre,unite,varout) 107 108 END SUBROUTINE iophys_ecrit_index 109 64 110 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 65 111 SUBROUTINE iophys_ini … … 68 114 USE regular_lonlat_mod, ONLY: lon_reg, lat_reg 69 115 USE dimphy, ONLY: klev 116 USE mod_grid_phy_lmdz, ONLY: klon_glo 70 117 71 118 IMPLICIT NONE … … 88 135 89 136 real pi 137 INTEGER nlat_eff 90 138 91 139 ! Arguments: … … 94 142 !$OMP MASTER 95 143 IF (is_mpi_root) THEN 144 145 ! Bidouille pour gerer le fait que lat_reg contient deux latitudes 146 ! en version uni-dimensionnelle (chose qui pourrait être résolue 147 ! par ailleurs) 148 IF (klon_glo==1) THEN 149 nlat_eff=1 150 ELSE 151 nlat_eff=size(lat_reg) 152 ENDIF 96 153 pi=2.*asin(1.) 97 154 call iotd_ini('phys.nc ', & 98 !iim,jjp1,llm,rlonv(1:iim)*180./pi,rlatu*180./pi,presnivs) 99 size(lon_reg),size(lat_reg),klev,lon_reg(:)*180./pi,lat_reg*180./pi,presnivs) 155 size(lon_reg),nlat_eff,klev,lon_reg(:)*180./pi,lat_reg*180./pi,presnivs) 100 156 ENDIF 101 157 !$OMP END MASTER
Note: See TracChangeset
for help on using the changeset viewer.