@@ -550,6 +550,8 @@ subroutine FV_Setup(GC,LAYOUT_FILE, RC)
550550 ! Cubed-Sphere Global Resolution Specific adjustments
551551 FV_Atm(1 )% flagstruct% compute_coords_locally = .TRUE.
552552 FV_Atm(1 )% flagstruct% hydrostatic = .true.
553+ ! Rayleigh Damping
554+ FV_Atm(1 )% flagstruct% rf_cutoff = 0.35e2
553555 FV_Atm(1 )% flagstruct% tau = 5.0
554556 FV_Atm(1 )% flagstruct% RF_fast = .false.
555557 if (FV_Atm(1 )% flagstruct% ntiles == 6 ) then
@@ -559,90 +561,102 @@ subroutine FV_Setup(GC,LAYOUT_FILE, RC)
559561 FV_Atm(1 )% flagstruct% hydrostatic = .true.
560562 FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 3600.0 )
561563 FV_Atm(1 )% flagstruct% tau = 5.0
564+ FV_Atm(1 )% flagstruct% rf_cutoff = 0.35e2
562565 FV_Atm(1 )% flagstruct% RF_fast = .false.
563566 endif
564567 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 24 ) then
565568 FV_Atm(1 )% flagstruct% hydrostatic = .true.
566- FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 3600 .0 )
569+ FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 1800 .0 )
567570 FV_Atm(1 )% flagstruct% tau = 5.0
571+ FV_Atm(1 )% flagstruct% rf_cutoff = 0.35e2
568572 FV_Atm(1 )% flagstruct% RF_fast = .false.
569573 endif
570574 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 48 ) then
571575 FV_Atm(1 )% flagstruct% hydrostatic = .true.
572- FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 1800 .0 )
576+ FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 1200 .0 )
573577 FV_Atm(1 )% flagstruct% tau = 5.0
578+ FV_Atm(1 )% flagstruct% rf_cutoff = 0.35e2
574579 FV_Atm(1 )% flagstruct% RF_fast = .false.
575580 endif
576581 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 90 ) then
577582 FV_Atm(1 )% flagstruct% hydrostatic = .true.
578- FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 900 .0 )
583+ FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 600 .0 )
579584 FV_Atm(1 )% flagstruct% tau = 5.0
585+ FV_Atm(1 )% flagstruct% rf_cutoff = 0.35e2
580586 FV_Atm(1 )% flagstruct% RF_fast = .false.
581587 endif
582588 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 180 ) then
583589 FV_Atm(1 )% flagstruct% hydrostatic = .true.
584- FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 600 .0 )
590+ FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 450 .0 )
585591 FV_Atm(1 )% flagstruct% tau = 5.0
592+ FV_Atm(1 )% flagstruct% rf_cutoff = 0.70e2
586593 FV_Atm(1 )% flagstruct% RF_fast = .false.
587594 endif
588595 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 360 ) then
589596 FV_Atm(1 )% flagstruct% hydrostatic = .false.
590597 FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 300.0 )
591598 FV_Atm(1 )% flagstruct% tau = 4.0
599+ FV_Atm(1 )% flagstruct% rf_cutoff = 1.50e2
592600 FV_Atm(1 )% flagstruct% RF_fast = .true.
593601 endif
594602 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 720 ) then
595603 FV_Atm(1 )% flagstruct% hydrostatic = .false.
596604 FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 150.0 )
597605 if (FV_Atm(1 )% flagstruct% stretch_fac > 1 ) FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 120.0 )
598606 FV_Atm(1 )% flagstruct% tau = 3.0
607+ FV_Atm(1 )% flagstruct% rf_cutoff = 3.00e2
599608 FV_Atm(1 )% flagstruct% RF_fast = .true.
600609 endif
601610 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 1120 ) then
602611 FV_Atm(1 )% flagstruct% hydrostatic = .false.
603612 FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 100.0 )
604613 if (FV_Atm(1 )% flagstruct% stretch_fac > 1 ) FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 90.0 )
605614 FV_Atm(1 )% flagstruct% tau = 2.5
615+ FV_Atm(1 )% flagstruct% rf_cutoff = 5.00e2
606616 FV_Atm(1 )% flagstruct% RF_fast = .true.
607617 endif
608618 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 1440 ) then
609619 FV_Atm(1 )% flagstruct% hydrostatic = .false.
610620 FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 75.0 )
611621 if (FV_Atm(1 )% flagstruct% stretch_fac > 1 ) FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 60.0 )
612622 FV_Atm(1 )% flagstruct% tau = 2.0
623+ FV_Atm(1 )% flagstruct% rf_cutoff = 7.50e2
613624 FV_Atm(1 )% flagstruct% RF_fast = .true.
614625 endif
615626 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 2880 ) then
616627 FV_Atm(1 )% flagstruct% hydrostatic = .false.
617628 FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 37.5 )
618629 if (FV_Atm(1 )% flagstruct% stretch_fac > 1 ) FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 30.0 )
619- FV_Atm(1 )% flagstruct% tau = 1.5
630+ FV_Atm(1 )% flagstruct% tau = 1.0
631+ FV_Atm(1 )% flagstruct% rf_cutoff = 10.0e2
620632 FV_Atm(1 )% flagstruct% RF_fast = .true.
621633 endif
622634 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 4320 ) then
623635 FV_Atm(1 )% flagstruct% hydrostatic = .false.
624636 FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 28.125 )
625637 if (FV_Atm(1 )% flagstruct% stretch_fac > 1 ) FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 15.0 )
626638 FV_Atm(1 )% flagstruct% tau = 1.0
639+ FV_Atm(1 )% flagstruct% rf_cutoff = 12.5e2
627640 FV_Atm(1 )% flagstruct% RF_fast = .true.
628641 endif
629642 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 5760 ) then
630643 FV_Atm(1 )% flagstruct% hydrostatic = .false.
631644 FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 18.75 )
632645 if (FV_Atm(1 )% flagstruct% stretch_fac > 1 ) FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 7.5 )
633646 FV_Atm(1 )% flagstruct% tau = 1.0
647+ FV_Atm(1 )% flagstruct% rf_cutoff = 15.0e2
634648 FV_Atm(1 )% flagstruct% RF_fast = .true.
635649 endif
636650 if (FV_Atm(1 )% flagstruct% npx* CEILING (FV_Atm(1 )% flagstruct% stretch_fac) >= 10800 ) then
637651 FV_Atm(1 )% flagstruct% hydrostatic = .false.
638652 FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 9.375 )
639653 if (FV_Atm(1 )% flagstruct% stretch_fac > 1 ) FV_Atm(1 )% flagstruct% k_split = CEILING (DT/ 3.25 )
640654 FV_Atm(1 )% flagstruct% tau = 1.0
655+ FV_Atm(1 )% flagstruct% rf_cutoff = 20.0e2
641656 FV_Atm(1 )% flagstruct% RF_fast = .true.
642657 endif
643658 FV_Atm(1 )% flagstruct% k_split = MAX (FV_Atm(1 )% flagstruct% k_split,1 )
644- ! Rayleigh Damping & Divergence Damping
645- FV_Atm(1 )% flagstruct% rf_cutoff = 0.35e2
659+ ! Divergence Damping
646660 ! 6th order divergence default damping options
647661 FV_Atm(1 )% flagstruct% nord = 2
648662 FV_Atm(1 )% flagstruct% dddmp = 0.2 ! Smagorinsky damping coef
0 commit comments