Changeset 2344 for LMDZ5/trunk/libf/phylmd/cpl_mod.F90
- Timestamp:
- Aug 21, 2015, 9:23:13 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/cpl_mod.F90
r2311 r2344 24 24 USE oasis 25 25 USE write_field_phy 26 USE control_mod27 26 ! USE control_mod 27 USE time_phylmdz_mod, ONLY: day_step_phy 28 28 29 29 ! Global attributes … … 102 102 USE surface_data 103 103 USE indice_sol_mod 104 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat 105 USE time_phylmdz_mod, ONLY: annee_ref, day_ini, itau_phy, itaufin_phy 104 106 USE print_control_mod, ONLY: lunout 105 106 INCLUDE "dimensions.h"107 INCLUDE "temps.h"108 107 109 108 ! Input arguments … … 121 120 INTEGER :: npas ! only for OASIS2 122 121 REAL :: zjulian 123 REAL, DIMENSION( iim,jjm+1):: zx_lon, zx_lat122 REAL, DIMENSION(nbp_lon,nbp_lat) :: zx_lon, zx_lat 124 123 CHARACTER(len = 20) :: modname = 'cpl_init' 125 124 CHARACTER(len = 80) :: abort_message … … 131 130 !************************************************************************************* 132 131 133 npas = itaufin / iphysiq132 npas = itaufin_phy 134 133 ! nexca = 86400 / dtime 135 134 nexca = t_coupl / dtime … … 172 171 ALLOCATE(cpl_taumod(klon,2), stat = error) 173 172 sum_error = sum_error + error 174 ALLOCATE(cpl_rriv2D( iim,jj_nb), stat=error)175 sum_error = sum_error + error 176 ALLOCATE(cpl_rcoa2D( iim,jj_nb), stat=error)177 sum_error = sum_error + error 178 ALLOCATE(cpl_rlic2D( iim,jj_nb), stat=error)179 sum_error = sum_error + error 180 ALLOCATE(read_sst( iim, jj_nb), stat = error)181 sum_error = sum_error + error 182 ALLOCATE(read_sic( iim, jj_nb), stat = error)183 sum_error = sum_error + error 184 ALLOCATE(read_sit( iim, jj_nb), stat = error)185 sum_error = sum_error + error 186 ALLOCATE(read_alb_sic( iim, jj_nb), stat = error)187 sum_error = sum_error + error 188 ALLOCATE(read_u0( iim, jj_nb), stat = error)189 sum_error = sum_error + error 190 ALLOCATE(read_v0( iim, jj_nb), stat = error)173 ALLOCATE(cpl_rriv2D(nbp_lon,jj_nb), stat=error) 174 sum_error = sum_error + error 175 ALLOCATE(cpl_rcoa2D(nbp_lon,jj_nb), stat=error) 176 sum_error = sum_error + error 177 ALLOCATE(cpl_rlic2D(nbp_lon,jj_nb), stat=error) 178 sum_error = sum_error + error 179 ALLOCATE(read_sst(nbp_lon, jj_nb), stat = error) 180 sum_error = sum_error + error 181 ALLOCATE(read_sic(nbp_lon, jj_nb), stat = error) 182 sum_error = sum_error + error 183 ALLOCATE(read_sit(nbp_lon, jj_nb), stat = error) 184 sum_error = sum_error + error 185 ALLOCATE(read_alb_sic(nbp_lon, jj_nb), stat = error) 186 sum_error = sum_error + error 187 ALLOCATE(read_u0(nbp_lon, jj_nb), stat = error) 188 sum_error = sum_error + error 189 ALLOCATE(read_v0(nbp_lon, jj_nb), stat = error) 191 190 sum_error = sum_error + error 192 191 193 192 IF (carbon_cycle_cpl) THEN 194 ALLOCATE(read_co2( iim, jj_nb), stat = error)193 ALLOCATE(read_co2(nbp_lon, jj_nb), stat = error) 195 194 sum_error = sum_error + error 196 195 ALLOCATE(cpl_atm_co2(klon,2), stat = error) … … 230 229 idayref = day_ini 231 230 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 232 CALL gr_fi_ecrit(1,klon, iim,jjm+1,rlon,zx_lon)233 DO i = 1, iim231 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,rlon,zx_lon) 232 DO i = 1, nbp_lon 234 233 zx_lon(i,1) = rlon(i+1) 235 zx_lon(i, jjm+1) = rlon(i+1)234 zx_lon(i,nbp_lat) = rlon(i+1) 236 235 ENDDO 237 CALL gr_fi_ecrit(1,klon, iim,jjm+1,rlat,zx_lat)236 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,rlat,zx_lat) 238 237 clintocplnam="cpl_atm_tauflx" 239 CALL histbeg(clintocplnam, iim,zx_lon(:,1),jjm+1,zx_lat(1,:),&240 1, iim,1,jjm+1, itau_phy,zjulian,dtime,nhoridct,nidct)238 CALL histbeg(clintocplnam,nbp_lon,zx_lon(:,1),nbp_lat,zx_lat(1,:),& 239 1,nbp_lon,1,nbp_lat, itau_phy,zjulian,dtime,nhoridct,nidct) 241 240 ! no vertical axis 242 241 CALL histdef(nidct, 'tauxe','tauxe', & 243 "-", iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime)242 "-",nbp_lon,nbp_lat, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime) 244 243 CALL histdef(nidct, 'tauyn','tauyn', & 245 "-", iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime)244 "-",nbp_lon,nbp_lat, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime) 246 245 CALL histdef(nidct, 'tmp_lon','tmp_lon', & 247 "-", iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime)246 "-",nbp_lon,nbp_lat, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime) 248 247 CALL histdef(nidct, 'tmp_lat','tmp_lat', & 249 "-", iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime)248 "-",nbp_lon,nbp_lat, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime) 250 249 DO jf=1,maxsend 251 250 IF (infosend(i)%action) THEN 252 251 CALL histdef(nidct, infosend(i)%name ,infosend(i)%name , & 253 "-", iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst",dtime,dtime)252 "-",nbp_lon,nbp_lat,nhoridct,1,1,1,-99,32,"inst",dtime,dtime) 254 253 ENDIF 255 254 END DO … … 258 257 259 258 clfromcplnam="cpl_atm_sst" 260 CALL histbeg(clfromcplnam, iim,zx_lon(:,1),jjm+1,zx_lat(1,:),1,iim,1,jjm+1, &259 CALL histbeg(clfromcplnam,nbp_lon,zx_lon(:,1),nbp_lat,zx_lat(1,:),1,nbp_lon,1,nbp_lat, & 261 260 0,zjulian,dtime,nhoridcs,nidcs) 262 261 ! no vertical axis … … 264 263 IF (inforecv(i)%action) THEN 265 264 CALL histdef(nidcs,inforecv(i)%name ,inforecv(i)%name , & 266 "-", iim, jjm+1, nhoridcs, 1, 1, 1, -99, 32, "inst",dtime,dtime)265 "-",nbp_lon,nbp_lat,nhoridcs,1,1,1,-99,32,"inst",dtime,dtime) 267 266 ENDIF 268 267 END DO … … 297 296 USE carbon_cycle_mod, ONLY : carbon_cycle_cpl 298 297 USE indice_sol_mod 299 300 INCLUDE "temps.h" 298 USE time_phylmdz_mod, ONLY: start_time, itau_phy 299 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat 300 301 301 INCLUDE "YOMCST.h" 302 INCLUDE "dimensions.h"303 302 304 303 ! Arguments … … 313 312 INTEGER :: j, i, time_sec 314 313 INTEGER :: itau_w 315 INTEGER, DIMENSION( iim*(jjm+1)):: ndexcs314 INTEGER, DIMENSION(nbp_lon*nbp_lat) :: ndexcs 316 315 CHARACTER(len = 20) :: modname = 'cpl_receive_frac' 317 316 CHARACTER(len = 80) :: abort_message 318 317 REAL, DIMENSION(klon) :: read_sic1D 319 REAL, DIMENSION( iim,jj_nb,maxrecv) :: tab_read_flds318 REAL, DIMENSION(nbp_lon,jj_nb,maxrecv) :: tab_read_flds 320 319 REAL, DIMENSION(klon,nbsrf) :: pctsrf_old 321 320 REAL, DIMENSION(klon_mpi) :: rlon_mpi, rlat_mpi 322 REAL, DIMENSION( iim,jj_nb) :: tmp_lon, tmp_lat323 REAL, DIMENSION( iim,jj_nb) :: tmp_r0321 REAL, DIMENSION(nbp_lon,jj_nb) :: tmp_lon, tmp_lat 322 REAL, DIMENSION(nbp_lon,jj_nb) :: tmp_r0 324 323 325 324 !************************************************************************************* … … 345 344 IF (is_sequential) THEN 346 345 ndexcs(:) = 0 347 itau_w = itau_phy + itime + start_time * day_step / iphysiq346 itau_w = itau_phy + itime + start_time * day_step_phy 348 347 DO i = 1, maxrecv 349 348 IF (inforecv(i)%action) THEN 350 CALL histwrite(nidcs,inforecv(i)%name,itau_w,tab_read_flds(:,:,i), iim*(jjm+1),ndexcs)349 CALL histwrite(nidcs,inforecv(i)%name,itau_w,tab_read_flds(:,:,i),nbp_lon*(nbp_lat),ndexcs) 351 350 ENDIF 352 351 END DO … … 373 372 ! Transform the currents from cartesian to spheric coordinates 374 373 ! tmp_r0 should be zero 375 CALL geo2atm( iim, jj_nb, tab_read_flds(:,:,idr_curenx), &374 CALL geo2atm(nbp_lon, jj_nb, tab_read_flds(:,:,idr_curenx), & 376 375 tab_read_flds(:,:,idr_cureny), tab_read_flds(:,:,idr_curenz), & 377 376 tmp_lon, tmp_lat, & … … 542 541 USE carbon_cycle_mod, ONLY : carbon_cycle_cpl, co2_send 543 542 USE indice_sol_mod 544 INCLUDE "dimensions.h"543 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat 545 544 546 545 ! Input arguments … … 635 634 IF (.NOT. ALLOCATED(cpl_sols2D)) THEN 636 635 sum_error = 0 637 ALLOCATE(cpl_sols2D( iim,jj_nb,2), stat=error)638 sum_error = sum_error + error 639 ALLOCATE(cpl_nsol2D( iim,jj_nb,2), stat=error)640 sum_error = sum_error + error 641 ALLOCATE(cpl_rain2D( iim,jj_nb,2), stat=error)642 sum_error = sum_error + error 643 ALLOCATE(cpl_snow2D( iim,jj_nb,2), stat=error)644 sum_error = sum_error + error 645 ALLOCATE(cpl_evap2D( iim,jj_nb,2), stat=error)646 sum_error = sum_error + error 647 ALLOCATE(cpl_tsol2D( iim,jj_nb,2), stat=error)648 sum_error = sum_error + error 649 ALLOCATE(cpl_fder2D( iim,jj_nb,2), stat=error)650 sum_error = sum_error + error 651 ALLOCATE(cpl_albe2D( iim,jj_nb,2), stat=error)652 sum_error = sum_error + error 653 ALLOCATE(cpl_taux2D( iim,jj_nb,2), stat=error)654 sum_error = sum_error + error 655 ALLOCATE(cpl_tauy2D( iim,jj_nb,2), stat=error)656 sum_error = sum_error + error 657 ALLOCATE(cpl_windsp2D( iim,jj_nb), stat=error)658 sum_error = sum_error + error 659 ALLOCATE(cpl_taumod2D( iim,jj_nb,2), stat=error)636 ALLOCATE(cpl_sols2D(nbp_lon,jj_nb,2), stat=error) 637 sum_error = sum_error + error 638 ALLOCATE(cpl_nsol2D(nbp_lon,jj_nb,2), stat=error) 639 sum_error = sum_error + error 640 ALLOCATE(cpl_rain2D(nbp_lon,jj_nb,2), stat=error) 641 sum_error = sum_error + error 642 ALLOCATE(cpl_snow2D(nbp_lon,jj_nb,2), stat=error) 643 sum_error = sum_error + error 644 ALLOCATE(cpl_evap2D(nbp_lon,jj_nb,2), stat=error) 645 sum_error = sum_error + error 646 ALLOCATE(cpl_tsol2D(nbp_lon,jj_nb,2), stat=error) 647 sum_error = sum_error + error 648 ALLOCATE(cpl_fder2D(nbp_lon,jj_nb,2), stat=error) 649 sum_error = sum_error + error 650 ALLOCATE(cpl_albe2D(nbp_lon,jj_nb,2), stat=error) 651 sum_error = sum_error + error 652 ALLOCATE(cpl_taux2D(nbp_lon,jj_nb,2), stat=error) 653 sum_error = sum_error + error 654 ALLOCATE(cpl_tauy2D(nbp_lon,jj_nb,2), stat=error) 655 sum_error = sum_error + error 656 ALLOCATE(cpl_windsp2D(nbp_lon,jj_nb), stat=error) 657 sum_error = sum_error + error 658 ALLOCATE(cpl_taumod2D(nbp_lon,jj_nb,2), stat=error) 660 659 sum_error = sum_error + error 661 660 662 661 IF (carbon_cycle_cpl) THEN 663 ALLOCATE(cpl_atm_co22D( iim,jj_nb), stat=error)662 ALLOCATE(cpl_atm_co22D(nbp_lon,jj_nb), stat=error) 664 663 sum_error = sum_error + error 665 664 END IF … … 733 732 USE carbon_cycle_mod, ONLY : carbon_cycle_cpl 734 733 USE indice_sol_mod 735 INCLUDE "dimensions.h"734 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat 736 735 737 736 ! Input arguments … … 820 819 IF (.NOT. ALLOCATED(cpl_sols2D)) THEN 821 820 sum_error = 0 822 ALLOCATE(cpl_sols2D( iim,jj_nb,2), stat=error)823 sum_error = sum_error + error 824 ALLOCATE(cpl_nsol2D( iim,jj_nb,2), stat=error)825 sum_error = sum_error + error 826 ALLOCATE(cpl_rain2D( iim,jj_nb,2), stat=error)827 sum_error = sum_error + error 828 ALLOCATE(cpl_snow2D( iim,jj_nb,2), stat=error)829 sum_error = sum_error + error 830 ALLOCATE(cpl_evap2D( iim,jj_nb,2), stat=error)831 sum_error = sum_error + error 832 ALLOCATE(cpl_tsol2D( iim,jj_nb,2), stat=error)833 sum_error = sum_error + error 834 ALLOCATE(cpl_fder2D( iim,jj_nb,2), stat=error)835 sum_error = sum_error + error 836 ALLOCATE(cpl_albe2D( iim,jj_nb,2), stat=error)837 sum_error = sum_error + error 838 ALLOCATE(cpl_taux2D( iim,jj_nb,2), stat=error)839 sum_error = sum_error + error 840 ALLOCATE(cpl_tauy2D( iim,jj_nb,2), stat=error)841 sum_error = sum_error + error 842 ALLOCATE(cpl_windsp2D( iim,jj_nb), stat=error)843 sum_error = sum_error + error 844 ALLOCATE(cpl_taumod2D( iim,jj_nb,2), stat=error)821 ALLOCATE(cpl_sols2D(nbp_lon,jj_nb,2), stat=error) 822 sum_error = sum_error + error 823 ALLOCATE(cpl_nsol2D(nbp_lon,jj_nb,2), stat=error) 824 sum_error = sum_error + error 825 ALLOCATE(cpl_rain2D(nbp_lon,jj_nb,2), stat=error) 826 sum_error = sum_error + error 827 ALLOCATE(cpl_snow2D(nbp_lon,jj_nb,2), stat=error) 828 sum_error = sum_error + error 829 ALLOCATE(cpl_evap2D(nbp_lon,jj_nb,2), stat=error) 830 sum_error = sum_error + error 831 ALLOCATE(cpl_tsol2D(nbp_lon,jj_nb,2), stat=error) 832 sum_error = sum_error + error 833 ALLOCATE(cpl_fder2D(nbp_lon,jj_nb,2), stat=error) 834 sum_error = sum_error + error 835 ALLOCATE(cpl_albe2D(nbp_lon,jj_nb,2), stat=error) 836 sum_error = sum_error + error 837 ALLOCATE(cpl_taux2D(nbp_lon,jj_nb,2), stat=error) 838 sum_error = sum_error + error 839 ALLOCATE(cpl_tauy2D(nbp_lon,jj_nb,2), stat=error) 840 sum_error = sum_error + error 841 ALLOCATE(cpl_windsp2D(nbp_lon,jj_nb), stat=error) 842 sum_error = sum_error + error 843 ALLOCATE(cpl_taumod2D(nbp_lon,jj_nb,2), stat=error) 845 844 sum_error = sum_error + error 846 845 847 846 IF (carbon_cycle_cpl) THEN 848 ALLOCATE(cpl_atm_co22D( iim,jj_nb), stat=error)847 ALLOCATE(cpl_atm_co22D(nbp_lon,jj_nb), stat=error) 849 848 sum_error = sum_error + error 850 849 END IF … … 913 912 ! (it is done in cpl_send_seaice_fields). 914 913 ! 915 INCLUDE "dimensions.h"914 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat 916 915 917 916 ! Input arguments … … 925 924 ! Local variables 926 925 !************************************************************************************* 927 REAL, DIMENSION( iim,jj_nb) :: rriv2D928 REAL, DIMENSION( iim,jj_nb) :: rcoa2D926 REAL, DIMENSION(nbp_lon,jj_nb) :: rriv2D 927 REAL, DIMENSION(nbp_lon,jj_nb) :: rcoa2D 929 928 930 929 !************************************************************************************* … … 972 971 ! 973 972 974 INCLUDE "dimensions.h"973 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat 975 974 976 975 ! Input varibales … … 983 982 ! Local varibales 984 983 !************************************************************************************* 985 REAL, DIMENSION( iim,jj_nb) :: rlic2D984 REAL, DIMENSION(nbp_lon,jj_nb) :: rlic2D 986 985 987 986 !************************************************************************************* … … 1027 1026 USE carbon_cycle_mod, ONLY : carbon_cycle_cpl 1028 1027 USE indice_sol_mod 1028 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat 1029 USE time_phylmdz_mod, ONLY: start_time, itau_phy 1029 1030 ! Some includes 1030 !************************************************************************************* 1031 INCLUDE "temps.h" 1032 INCLUDE "dimensions.h" 1033 1031 ! 1034 1032 ! Input arguments 1035 1033 !************************************************************************************* … … 1045 1043 INTEGER :: itau_w 1046 1044 INTEGER :: time_sec 1047 INTEGER, DIMENSION( iim*(jjm+1)) :: ndexct1045 INTEGER, DIMENSION(nbp_lon*(nbp_lat)) :: ndexct 1048 1046 REAL :: Up, Down 1049 REAL, DIMENSION( iim, jj_nb) :: tmp_lon, tmp_lat1050 REAL, DIMENSION( iim, jj_nb, 4) :: pctsrf2D1051 REAL, DIMENSION( iim, jj_nb) :: deno1047 REAL, DIMENSION(nbp_lon, jj_nb) :: tmp_lon, tmp_lat 1048 REAL, DIMENSION(nbp_lon, jj_nb, 4) :: pctsrf2D 1049 REAL, DIMENSION(nbp_lon, jj_nb) :: deno 1052 1050 CHARACTER(len = 20) :: modname = 'cpl_send_all' 1053 1051 CHARACTER(len = 80) :: abort_message 1054 1052 1055 1053 ! Variables with fields to coupler 1056 REAL, DIMENSION( iim, jj_nb) :: tmp_taux1057 REAL, DIMENSION( iim, jj_nb) :: tmp_tauy1058 REAL, DIMENSION( iim, jj_nb) :: tmp_calv1054 REAL, DIMENSION(nbp_lon, jj_nb) :: tmp_taux 1055 REAL, DIMENSION(nbp_lon, jj_nb) :: tmp_tauy 1056 REAL, DIMENSION(nbp_lon, jj_nb) :: tmp_calv 1059 1057 ! Table with all fields to send to coupler 1060 REAL, DIMENSION( iim, jj_nb, maxsend) :: tab_flds1058 REAL, DIMENSION(nbp_lon, jj_nb, maxsend) :: tab_flds 1061 1059 REAL, DIMENSION(klon_mpi) :: rlon_mpi, rlat_mpi 1062 1060 … … 1112 1110 1113 1111 DO j = 1, jj_nb 1114 tmp_calv(:,j) = DOT_PRODUCT (cpl_rlic2D(1: iim,j), &1115 pctsrf2D(1: iim,j,is_lic)) / REAL(iim)1112 tmp_calv(:,j) = DOT_PRODUCT (cpl_rlic2D(1:nbp_lon,j), & 1113 pctsrf2D(1:nbp_lon,j,is_lic)) / REAL(nbp_lon) 1116 1114 ENDDO 1117 1115 … … 1133 1131 1134 1132 IF (.NOT. is_north_pole .AND. ii_begin /=1) THEN 1135 Up=Up+tmp_calv( iim,1)1133 Up=Up+tmp_calv(nbp_lon,1) 1136 1134 tmp_calv(:,1)=Up 1137 1135 ENDIF 1138 1136 1139 IF (.NOT. is_south_pole .AND. ii_end /= iim) THEN1137 IF (.NOT. is_south_pole .AND. ii_end /= nbp_lon) THEN 1140 1138 Down=Down+tmp_calv(1,jj_nb) 1141 1139 tmp_calv(:,jj_nb)=Down … … 1226 1224 IF (is_sequential) THEN 1227 1225 IF (is_north_pole) tmp_lon(:,1) = tmp_lon(:,2) 1228 IF (is_south_pole) tmp_lon(:, jjm+1) = tmp_lon(:,jjm)1226 IF (is_south_pole) tmp_lon(:,nbp_lat) = tmp_lon(:,nbp_lat-1) 1229 1227 ENDIF 1230 1228 … … 1232 1230 IF (is_sequential) THEN 1233 1231 ndexct(:) = 0 1234 itau_w = itau_phy + itime + start_time * day_step / iphysiq1235 CALL histwrite(nidct,'tauxe',itau_w,tmp_taux, iim*(jjm+1),ndexct)1236 CALL histwrite(nidct,'tauyn',itau_w,tmp_tauy, iim*(jjm+1),ndexct)1237 CALL histwrite(nidct,'tmp_lon',itau_w,tmp_lon, iim*(jjm+1),ndexct)1238 CALL histwrite(nidct,'tmp_lat',itau_w,tmp_lat, iim*(jjm+1),ndexct)1232 itau_w = itau_phy + itime + start_time * day_step_phy 1233 CALL histwrite(nidct,'tauxe',itau_w,tmp_taux,nbp_lon*(nbp_lat),ndexct) 1234 CALL histwrite(nidct,'tauyn',itau_w,tmp_tauy,nbp_lon*(nbp_lat),ndexct) 1235 CALL histwrite(nidct,'tmp_lon',itau_w,tmp_lon,nbp_lon*(nbp_lat),ndexct) 1236 CALL histwrite(nidct,'tmp_lat',itau_w,tmp_lat,nbp_lon*(nbp_lat),ndexct) 1239 1237 ENDIF 1240 1238 … … 1242 1240 ! cartesian 3D coordinates 1243 1241 !$OMP MASTER 1244 CALL atm2geo ( iim, jj_nb, tmp_taux, tmp_tauy, tmp_lon, tmp_lat, &1242 CALL atm2geo (nbp_lon, jj_nb, tmp_taux, tmp_tauy, tmp_lon, tmp_lat, & 1245 1243 tab_flds(:,:,ids_tauxxu), tab_flds(:,:,ids_tauyyu), tab_flds(:,:,ids_tauzzu) ) 1246 1244 … … 1257 1255 DO j=1,maxsend 1258 1256 IF (infosend(j)%action) CALL histwrite(nidct,infosend(j)%name, itau_w, & 1259 tab_flds(:,:,j), iim*(jjm+1),ndexct)1257 tab_flds(:,:,j),nbp_lon*(nbp_lat),ndexct) 1260 1258 ENDDO 1261 1259 ENDIF … … 1311 1309 ! champ_out champ sur la grille 'gatherd' 1312 1310 ! 1313 INCLUDE "dimensions.h"1311 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat 1314 1312 1315 1313 ! Input 1316 1314 INTEGER, INTENT(IN) :: knon 1317 REAL, DIMENSION( iim,jj_nb), INTENT(IN) :: champ_in1315 REAL, DIMENSION(nbp_lon,jj_nb), INTENT(IN) :: champ_in 1318 1316 INTEGER, DIMENSION(klon), INTENT(IN) :: knindex 1319 1317 … … 1330 1328 1331 1329 1332 ! Transform from 2 dimensions ( iim,jj_nb) to 1 dimension (klon)1330 ! Transform from 2 dimensions (nbp_lon,jj_nb) to 1 dimension (klon) 1333 1331 !$OMP MASTER 1334 1332 CALL Grid2Dto1D_mpi(champ_in,temp_mpi) … … 1360 1358 ! champ_out champ sur la grille 2D 1361 1359 ! 1362 INCLUDE "dimensions.h"1360 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat 1363 1361 1364 1362 ! Input arguments … … 1370 1368 ! Output arguments 1371 1369 !************************************************************************************* 1372 REAL, DIMENSION( iim,jj_nb), INTENT(OUT) :: champ_out1370 REAL, DIMENSION(nbp_lon,jj_nb), INTENT(OUT) :: champ_out 1373 1371 1374 1372 ! Local variables … … 1386 1384 ENDDO 1387 1385 1388 ! Transform from 1 dimension (klon) to 2 dimensions ( iim,jj_nb)1386 ! Transform from 1 dimension (klon) to 2 dimensions (nbp_lon,jj_nb) 1389 1387 CALL gather_omp(temp_omp,temp_mpi) 1390 1388
Note: See TracChangeset
for help on using the changeset viewer.