Changeset 3605 for LMDZ6/branches/Ocean_skin/libf/phylmd/sisvat
- Timestamp:
- Nov 21, 2019, 4:43:45 PM (5 years ago)
- Location:
- LMDZ6/branches/Ocean_skin
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Ocean_skin
-
LMDZ6/branches/Ocean_skin/libf/phylmd/sisvat/surf_sisvat_mod.F90
r2345 r3605 1540 1540 INTEGER isl, ikl, i, isn 1541 1541 CHARACTER (len=2) :: str2 1542 INTEGER :: pass 1542 1543 1543 1544 isno(:) = 0 … … 1617 1618 1618 1619 CALL open_restartphy(fichnom) 1619 CALL put_field("longitude", & 1620 DO pass = 1, 2 1621 CALL put_field(pass,"longitude", & 1620 1622 "Longitudes de la grille physique",rlon) 1621 CALL put_field("latitude","Latitudes de la grille physique",rlat)1622 1623 CALL put_field("n_snows", "number of snow/ice layers",isno)1624 CALL put_field("n_ice_top", "number of top ice layers",ispi)1625 CALL put_field("n_ice", "number of ice layers",iice)1626 CALL put_field("IR_soil", "Soil IR flux",IRs)1627 CALL put_field("LMO", "Monin-Obukhov Scale",LMO)1628 CALL put_field("surf_water", "Surficial water",rusn)1629 CALL put_field("snow_buffer", "Snow buffer layer",Bufs)1630 CALL put_field("alb_1", "albedo sw",alb1)1631 CALL put_field("alb_2", "albedo nIR",alb2)1632 CALL put_field("alb_3", "albedo fIR",alb3)1633 CALL put_field("to_ice", "Snow passed to ice",toic)1623 CALL put_field(pass,"latitude","Latitudes de la grille physique",rlat) 1624 1625 CALL put_field(pass,"n_snows", "number of snow/ice layers",isno) 1626 CALL put_field(pass,"n_ice_top", "number of top ice layers",ispi) 1627 CALL put_field(pass,"n_ice", "number of ice layers",iice) 1628 CALL put_field(pass,"IR_soil", "Soil IR flux",IRs) 1629 CALL put_field(pass,"LMO", "Monin-Obukhov Scale",LMO) 1630 CALL put_field(pass,"surf_water", "Surficial water",rusn) 1631 CALL put_field(pass,"snow_buffer", "Snow buffer layer",Bufs) 1632 CALL put_field(pass,"alb_1", "albedo sw",alb1) 1633 CALL put_field(pass,"alb_2", "albedo nIR",alb2) 1634 CALL put_field(pass,"alb_3", "albedo fIR",alb3) 1635 CALL put_field(pass,"to_ice", "Snow passed to ice",toic) 1634 1636 1635 1637 ! DO i = 1, 5 1636 1638 ! WRITE(str2,'(i2.2)') i 1637 ! CALL put_field( "turb_veloc"//str2, &1639 ! CALL put_field(pass,"turb_veloc"//str2, & 1638 1640 ! "various turbulent velocities"//str2, & 1639 1641 ! turb_vel(:,i)) … … 1641 1643 ! DO i = 1, 9 1642 1644 ! WRITE(str2,'(i2.2)') i 1643 ! CALL put_field( "rough_length"//str2, &1645 ! CALL put_field(pass,"rough_length"//str2, & 1644 1646 ! "various roughness lengths"//str2, & 1645 1647 ! rlength(:,i)) 1646 1648 ! ENDDO 1647 DO isn = 1,nsno1648 IF (isn.LE.99) THEN1649 WRITE(str2,'(i2.2)') isn1650 CALL put_field("AGESNOW"//str2, &1649 DO isn = 1,nsno 1650 IF (isn.LE.99) THEN 1651 WRITE(str2,'(i2.2)') isn 1652 CALL put_field(pass,"AGESNOW"//str2, & 1651 1653 "Age de la neige layer No."//str2, & 1652 1654 agsn(:,isn)) 1653 ELSE1654 PRINT*, "Trop de couches"1655 CALL abort1656 ENDIF1657 ENDDO1658 DO isn = 1,nsno1659 IF (isn.LE.99) THEN1660 WRITE(str2,'(i2.2)') isn1661 CALL put_field("DZSNOW"//str2, &1655 ELSE 1656 PRINT*, "Trop de couches" 1657 CALL abort 1658 ENDIF 1659 ENDDO 1660 DO isn = 1,nsno 1661 IF (isn.LE.99) THEN 1662 WRITE(str2,'(i2.2)') isn 1663 CALL put_field(pass,"DZSNOW"//str2, & 1662 1664 "Snow/ice thickness layer No."//str2, & 1663 1665 dzsn(:,isn)) 1664 ELSE1665 PRINT*, "Trop de couches"1666 CALL abort1667 ENDIF1668 ENDDO1669 DO isn = 1,nsno1670 IF (isn.LE.99) THEN1671 WRITE(str2,'(i2.2)') isn1672 CALL put_field("G2SNOW"//str2, &1666 ELSE 1667 PRINT*, "Trop de couches" 1668 CALL abort 1669 ENDIF 1670 ENDDO 1671 DO isn = 1,nsno 1672 IF (isn.LE.99) THEN 1673 WRITE(str2,'(i2.2)') isn 1674 CALL put_field(pass,"G2SNOW"//str2, & 1673 1675 "Snow Property 2, layer No."//str2, & 1674 1676 G2sn(:,isn)) 1675 ELSE1676 PRINT*, "Trop de couches"1677 CALL abort1678 ENDIF1679 ENDDO1680 DO isn = 1,nsno1681 IF (isn.LE.99) THEN1682 WRITE(str2,'(i2.2)') isn1683 CALL put_field("G1SNOW"//str2, &1677 ELSE 1678 PRINT*, "Trop de couches" 1679 CALL abort 1680 ENDIF 1681 ENDDO 1682 DO isn = 1,nsno 1683 IF (isn.LE.99) THEN 1684 WRITE(str2,'(i2.2)') isn 1685 CALL put_field(pass,"G1SNOW"//str2, & 1684 1686 "Snow Property 1, layer No."//str2, & 1685 1687 G1sn(:,isn)) 1686 ELSE1687 PRINT*, "Trop de couches"1688 CALL abort1689 ENDIF1690 ENDDO1691 DO isn = 1,nsismx1692 IF (isn.LE.99) THEN1693 WRITE(str2,'(i2.2)') isn1694 CALL put_field("ETA"//str2, &1688 ELSE 1689 PRINT*, "Trop de couches" 1690 CALL abort 1691 ENDIF 1692 ENDDO 1693 DO isn = 1,nsismx 1694 IF (isn.LE.99) THEN 1695 WRITE(str2,'(i2.2)') isn 1696 CALL put_field(pass,"ETA"//str2, & 1695 1697 "Soil/snow water content layer No."//str2, & 1696 1698 eta(:,isn)) 1697 ELSE 1698 PRINT*, "Trop de couches" 1699 CALL abort 1700 ENDIF 1699 ELSE 1700 PRINT*, "Trop de couches" 1701 CALL abort 1702 ENDIF 1703 ENDDO 1704 DO isn = 1,nsismx !nsno 1705 IF (isn.LE.99) THEN 1706 WRITE(str2,'(i2.2)') isn 1707 CALL put_field(pass,"RO"//str2, & 1708 "Snow density layer No."//str2, & 1709 ro(:,isn)) 1710 ELSE 1711 PRINT*, "Trop de couches" 1712 CALL abort 1713 ENDIF 1714 ENDDO 1715 DO isn = 1,nsismx 1716 IF (isn.LE.99) THEN 1717 WRITE(str2,'(i2.2)') isn 1718 CALL put_field(pass,"TSS"//str2, & 1719 "Soil/snow temperature layer No."//str2, & 1720 Tsis(:,isn)) 1721 ELSE 1722 PRINT*, "Trop de couches" 1723 CALL abort 1724 ENDIF 1725 ENDDO 1726 DO isn = 1,nsno 1727 IF (isn.LE.99) THEN 1728 WRITE(str2,'(i2.2)') isn 1729 CALL put_field(pass,"HISTORY"//str2, & 1730 "Snow history layer No."//str2, & 1731 isto(:,isn)) 1732 ELSE 1733 PRINT*, "Trop de couches" 1734 CALL abort 1735 ENDIF 1736 ENDDO 1701 1737 ENDDO 1702 DO isn = 1,nsismx !nsno1703 IF (isn.LE.99) THEN1704 WRITE(str2,'(i2.2)') isn1705 CALL put_field("RO"//str2, &1706 "Snow density layer No."//str2, &1707 ro(:,isn))1708 ELSE1709 PRINT*, "Trop de couches"1710 CALL abort1711 ENDIF1712 ENDDO1713 DO isn = 1,nsismx1714 IF (isn.LE.99) THEN1715 WRITE(str2,'(i2.2)') isn1716 CALL put_field("TSS"//str2, &1717 "Soil/snow temperature layer No."//str2, &1718 Tsis(:,isn))1719 ELSE1720 PRINT*, "Trop de couches"1721 CALL abort1722 ENDIF1723 ENDDO1724 DO isn = 1,nsno1725 IF (isn.LE.99) THEN1726 WRITE(str2,'(i2.2)') isn1727 CALL put_field("HISTORY"//str2, &1728 "Snow history layer No."//str2, &1729 isto(:,isn))1730 ELSE1731 PRINT*, "Trop de couches"1732 CALL abort1733 ENDIF1734 ENDDO1735 1738 1736 1739 END SUBROUTINE sisvatredem
Note: See TracChangeset
for help on using the changeset viewer.