- Timestamp:
- Jul 22, 2024, 9:29:09 PM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/fonte_neige_mod.F90
r5087 r5099 1 ! 1 2 2 ! $Header$ 3 ! 3 4 4 MODULE fonte_neige_mod 5 ! 5 6 6 ! This module will treat the process of snow, melting, accumulating, calving, in 7 7 ! case of simplified soil model. 8 ! 8 9 9 !**************************************************************************************** 10 10 USE dimphy, ONLY : klon … … 52 52 53 53 CONTAINS 54 ! 55 !**************************************************************************************** 56 ! 54 55 !**************************************************************************************** 56 57 57 SUBROUTINE fonte_neige_init(restart_runoff) 58 58 … … 60 60 ! The variable run_off_lic_0 is initialized to the field read from 61 61 ! restart file. The other variables are initialized to zero. 62 ! 62 63 63 !**************************************************************************************** 64 64 ! Input argument … … 73 73 !**************************************************************************************** 74 74 ! Allocate run-off at landice and initilize with field read from restart 75 ! 75 76 76 !**************************************************************************************** 77 77 … … 85 85 !**************************************************************************************** 86 86 ! Allocate other variables and initilize to zero 87 ! 87 88 88 !**************************************************************************************** 89 89 ALLOCATE(run_off_ter(klon), stat = error) … … 131 131 !**************************************************************************************** 132 132 ! Read tau_calv 133 ! 133 134 134 !**************************************************************************************** 135 135 CALL conf_interface(tau_calv) … … 150 150 USE isotopes_verif_mod 151 151 #endif 152 ! 152 153 153 !**************************************************************************************** 154 154 ! Input argument … … 164 164 !**************************************************************************************** 165 165 ! Allocate run-off at landice and initilize with field read from restart 166 ! 166 167 167 !**************************************************************************************** 168 168 … … 185 185 !**************************************************************************************** 186 186 ! Allocate other variables and initilize to zero 187 ! 187 188 188 !**************************************************************************************** 189 189 … … 226 226 #endif 227 227 228 ! 229 !**************************************************************************************** 230 ! 228 !**************************************************************************************** 229 231 230 SUBROUTINE fonte_neige( knon, nisurf, knindex, dtime, & 232 231 tsurf, precip_rain, precip_snow, & … … 258 257 ! precip_rain precipitations liquides 259 258 ! precip_snow precipitations solides 260 ! 259 261 260 ! input/output: 262 261 ! snow champs hauteur de neige … … 264 263 ! tsurf_new temperature au sol 265 264 ! evap 266 ! 265 267 266 INCLUDE "YOETHF.h" 268 267 INCLUDE "YOMCST.h" … … 329 328 ! Start calculation 330 329 ! - Initialization 331 ! 330 332 331 !**************************************************************************************** 333 332 coeff_rel = dtime/(tau_calv * rday) … … 338 337 ! - Increment snow due to precipitation and evaporation 339 338 ! - Calculate the water balance due to precipitation and evaporation (bil_eau_s) 340 ! 339 341 340 !**************************************************************************************** 342 341 WHERE (precip_snow > 0.) … … 374 373 ! - Calculate calving and decrement snow, if there are to much snow 375 374 ! - Update temperature at surface 376 ! 375 377 376 !**************************************************************************************** 378 377 … … 451 450 ! Save ffonte, fqfonte and fqcalving in global arrays for each 452 451 ! sub-surface separately 453 ! 452 454 453 !**************************************************************************************** 455 454 DO i = 1, knon … … 466 465 467 466 END SUBROUTINE fonte_neige 468 ! 469 !**************************************************************************************** 470 ! 467 468 !**************************************************************************************** 469 471 470 SUBROUTINE fonte_neige_final(restart_runoff & 472 471 #ifdef ISO … … 474 473 #endif 475 474 ) 476 ! 475 477 476 ! This subroutine returns run_off_lic_0 for later writing to restart file. 478 ! 477 479 478 #ifdef ISO 480 479 USE infotrac_phy, ONLY: niso … … 484 483 #endif 485 484 #endif 486 ! 485 487 486 !**************************************************************************************** 488 487 REAL, DIMENSION(klon), INTENT(OUT) :: restart_runoff … … 540 539 541 540 END SUBROUTINE fonte_neige_final 542 ! 543 !**************************************************************************************** 544 ! 541 542 !**************************************************************************************** 543 545 544 SUBROUTINE fonte_neige_get_vars(pctsrf, fqcalving_out, & 546 545 fqfonte_out, ffonte_out, run_off_lic_out & … … 553 552 ! Cumulate ffonte, fqfonte and fqcalving respectively for 554 553 ! all type of surfaces according to their fraction. 555 ! 554 556 555 ! This routine is called from physiq.F before histwrite. 557 556 !**************************************************************************************** … … 608 607 609 608 END SUBROUTINE fonte_neige_get_vars 610 ! 611 !**************************************************************************************** 612 ! 609 610 !**************************************************************************************** 611 613 612 !#ifdef ISO 614 613 ! subroutine fonte_neige_export_xtrun_off_lic_0(knon,xtrun_off_lic_0_diag) 615 614 ! use infotrac_phy, ONLY: niso 616 ! 615 617 616 ! ! inputs 618 617 ! INTEGER, INTENT(IN) :: knon 619 618 ! real, INTENT(IN), DIMENSION(niso,klon) :: xtrun_off_lic_0_diag 620 ! 619 621 620 ! xtrun_off_lic_0(:,:)=xtrun_off_lic_0_diag(:,:) 622 ! 621 623 622 ! end subroutine fonte_neige_export_xtrun_off_lic_0 624 623 !#endif
Note: See TracChangeset
for help on using the changeset viewer.