Ignore:
Timestamp:
10/19/17 17:04:26 (7 years ago)
Author:
dubos
Message:

trunk : backported commits r582-r598 (transport diagnostics)

Location:
codes/icosagcm/trunk/src/physics
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/physics/physics.f90

    r548 r599  
    247247 
    248248    REAL(rstd) :: p(iim*jjm,llm+1) 
    249     REAL(rstd) :: uc(iim*jjm,3,llm) 
     249    REAL(rstd) :: uc(iim*jjm,llm,3) 
    250250    REAL(rstd) :: ulon(iim*jjm,llm) 
    251251    REAL(rstd) :: ulat(iim*jjm,llm) 
     
    311311    REAL(rstd) :: dulat(iim*jjm,llm) 
    312312    REAL(rstd) :: ue(3*iim*jjm,llm) 
    313     REAL(rstd) :: duc(iim*jjm,3,llm) 
     313    REAL(rstd) :: duc(iim*jjm,llm,3) 
    314314    REAL(rstd) :: dt2, due 
    315315    INTEGER :: i,j,ij,l 
     
    321321        DO i=ii_begin,ii_end 
    322322          ij=(j-1)*iim+i 
    323           due = sum( (duc(ij,:,l) + duc(ij+t_right,:,l))*ep_e(ij+u_right,:) ) 
     323          due = sum( (duc(ij,l,:) + duc(ij+t_right,l,:))*ep_e(ij+u_right,:) ) 
    324324          ue(ij+u_right,l) = ue(ij+u_right,l) + dt2*due 
    325325 
    326           due = sum( (duc(ij,:,l) + duc(ij+t_lup,:,l))*ep_e(ij+u_lup,:) ) 
     326          due = sum( (duc(ij,l,:) + duc(ij+t_lup,l,:))*ep_e(ij+u_lup,:) ) 
    327327          ue(ij+u_lup,l)=ue(ij+u_lup,l) + dt2*due 
    328328 
    329           due = sum( (duc(ij,:,l) + duc(ij+t_ldown,:,l))*ep_e(ij+u_ldown,:) ) 
     329          due = sum( (duc(ij,l,:) + duc(ij+t_ldown,l,:))*ep_e(ij+u_ldown,:) ) 
    330330          ue(ij+u_ldown,l)=ue(ij+u_ldown,l) + dt2*due 
    331331        ENDDO 
  • codes/icosagcm/trunk/src/physics/physics_lmdz_generic.F90

    r548 r599  
    7878    CALL allocate_field(f_dq,field_t,type_real,llm,nqtot) 
    7979    CALL allocate_field(f_dps,field_t,type_real) 
    80     CALL allocate_field(f_duc,field_t,type_real,3,llm)     
     80    CALL allocate_field(f_duc,field_t,type_real,llm,3) 
    8181!$OMP END PARALLEL     
    8282 
     
    362362          DO i=ii_begin,ii_end 
    363363            ij=(j-1)*iim+i 
    364             duc(ij,:,l)=dulon(ij,l)*elon_i(ij,:)+dulat(ij,l)*elat_i(ij,:) 
     364            duc(ij,l,:)=dulon(ij,l)*elon_i(ij,:)+dulat(ij,l)*elat_i(ij,:) 
    365365          ENDDO 
    366366        ENDDO 
     
    371371          DO i=ii_begin,ii_end 
    372372            ij=(j-1)*iim+i 
    373             u(ij+u_right,l) = u(ij+u_right,l) + dtphy * sum( 0.5*(duc(ij,:,l) + duc(ij+t_right,:,l))*ep_e(ij+u_right,:) ) 
    374             u(ij+u_lup,l) = u(ij+u_lup,l) + dtphy * sum( 0.5*(duc(ij,:,l) + duc(ij+t_lup,:,l))*ep_e(ij+u_lup,:) ) 
    375             u(ij+u_ldown,l) = u(ij+u_ldown,l) + dtphy*sum( 0.5*(duc(ij,:,l) + duc(ij+t_ldown,:,l))*ep_e(ij+u_ldown,:) ) 
     373            u(ij+u_right,l) = u(ij+u_right,l) + dtphy * sum( 0.5*(duc(ij,l,:) + duc(ij+t_right,l,:))*ep_e(ij+u_right,:) ) 
     374            u(ij+u_lup,l) = u(ij+u_lup,l) + dtphy * sum( 0.5*(duc(ij,l,:) + duc(ij+t_lup,l,:))*ep_e(ij+u_lup,:) ) 
     375            u(ij+u_ldown,l) = u(ij+u_ldown,l) + dtphy*sum( 0.5*(duc(ij,l,:) + duc(ij+t_ldown,l,:))*ep_e(ij+u_ldown,:) ) 
    376376          ENDDO 
    377377        ENDDO 
Note: See TracChangeset for help on using the changeset viewer.