Opened 8 years ago

Closed 8 years ago

#81 closed defect (fixed)

bug taille tableaux dans yamada4?

Reported by: Ehouarn Millour Owned by: Laurent Fairhead
Priority: major Milestone:
Component: LMDZ Keywords:
Cc:

Description

Rapport de possible bug dans yamada4 identifié par Yann dans le prototype dynamico-aquaplanète:

Produit d'un svn diff dans corrections dans yamada4.F90:

@@ -246,7 +246,7 @@
    IF (iflag_pbl==6) THEN

      DO k = 2, klev
-      q2(:, k) = l(:, k)**2*zz(:, k)
+      q2(:ngrid, k) = l(:ngrid, k)**2*zz(:ngrid, k)
      END DO


@@ -339,12 +339,14 @@
      ! print*,'Schema mixte D'
      ! print*,'Longueur ',l(:,:)
      DO k = 2, klev - 1
-      l(:, k) = max(l(:,k), 1.)
-      km(:, k) = l(:, k)*sqrt(q2(:,k))*sm(:, k)
-      q2(:, k) = q2(:, k) + dt*km(:, k)*m2(:, k)*(1.-rif(:,k))
-      q2(:, k) = min(max(q2(:,k),1.E-10), 1.E4)
-      q2(:, k) = 1./(1./sqrt(q2(:,k))+dt/(2*l(:,k)*b1))
-      q2(:, k) = q2(:, k)*q2(:, k)
+      DO ig = 1, ngrid
+        l(ig, k) = max(l(ig,k), 1.)
+        km(ig, k) = l(ig, k)*sqrt(q2(ig,k))*sm(ig, k)
+        q2(ig, k) = q2(ig, k) + dt*km(ig, k)*m2(ig, k)*(1.-rif(ig,k))
+        q2(ig, k) = min(max(q2(ig,k),1.E-10), 1.E4)
+        q2(ig, k) = 1./(1./sqrt(q2(ig,k))+dt/(2*l(ig,k)*b1))
+        q2(ig, k) = q2(ig, k)*q2(ig, k)
+      END DO
      END DO


@@ -376,7 +378,7 @@
    ! Transport diffusif vertical de la TKE.
    IF (iflag_pbl>=12) THEN
      ! print*,'YAMADA VDIF'
-    q2(:, 1) = q2(:, 2)
+    q2(1:ngrid, 1) = q2(1:ngrid, 2)
      CALL vdif_q2(dt, g, rconst, ngrid, plev, temp, kq, q2)
    END IF

Change History (1)

comment:1 Changed 8 years ago by Ehouarn Millour

Resolution: fixed
Status: newclosed

Resolu avec la revision r2574

Note: See TracTickets for help on using tickets.