Index: trunk/LMDZ.MARS/changelog.txt
===================================================================
--- trunk/LMDZ.MARS/changelog.txt	(revision 3755)
+++ trunk/LMDZ.MARS/changelog.txt	(revision 3756)
@@ -4826,2 +4826,7 @@
 == 28/04/2025 == EM
 OpenMP bug fix: add some missing threadprivate statements in moldiff_MPF
+
+== 07/05/2025 == EM
+Code tidying: turn aerave.F and suaer.F90 into modules and modernize
+"blackl" routine (enforce "implicit none", make true constants "parameters")
+and include it in the aerave module since it is only called there. 
Index: trunk/LMDZ.MARS/libf/phymars/aerave.F
===================================================================
--- trunk/LMDZ.MARS/libf/phymars/aerave.F	(revision 3755)
+++ trunk/LMDZ.MARS/libf/phymars/aerave.F	(revision 3756)
@@ -1,2 +1,8 @@
+      MODULE aerave_mod
+      
+      IMPLICIT NONE
+      
+      CONTAINS
+
       SUBROUTINE aerave ( ndata,
      & longdata,epdata,omegdata,gdata,          
@@ -191,4 +197,29 @@
 c......................................................................
 c
-      RETURN
-      END
+      END SUBROUTINE aerave
+
+c.......................................................................
+
+      subroutine blackl(blalong,blat,blae)
+
+      implicit none
+c.......................................................................
+      double precision,intent(in) :: blalong,blat
+      double precision,intent(out) :: blae
+c.....parameters
+      double precision,parameter :: sigma=5.6693d-08
+      double precision,parameter :: pi=datan(1.d0)*4.d0
+      double precision,parameter :: c0=2.9979d+08
+      double precision,parameter :: h=6.6262d-34
+      double precision,parameter :: cbol=1.3806d-23
+      double precision,parameter :: rind=1.d0
+      double precision,parameter :: c=c0/rind
+      double precision,parameter :: c1=h*(c**2)
+      double precision,parameter :: c2=h*c/cbol
+c.......................................................................
+      blae=2.d0*pi*c1/blalong**5/(exp(c2/blalong/blat)-1.d0)
+c.......................................................................
+
+      end subroutine blackl
+
+      END MODULE aerave_mod
Index: trunk/LMDZ.MARS/libf/phymars/blackl.F
===================================================================
--- trunk/LMDZ.MARS/libf/phymars/blackl.F	(revision 3755)
+++ 	(revision )
@@ -1,20 +1,0 @@
-      subroutine blackl(blalong,blat,blae)
-c.......................................................................
-      implicit double precision (a-h,o-z)
-c.......................................................................
-c.....donnees de fond
-      sigma=5.6693d-08
-      pi=datan(1.d0)*4.d0
-      c0=2.9979d+08
-      h=6.6262d-34
-      cbol=1.3806d-23
-      rind=1.d0
-      c=c0/rind
-      c1=h*(c**2)
-      c2=h*c/cbol
-c.....fin de donnees de fond
-c.......................................................................
-      blae=2.d0*pi*c1/blalong**5/(dexp(c2/blalong/blat)-1.d0)
-c.......................................................................
-      return
-      end
Index: trunk/LMDZ.MARS/libf/phymars/callradite_mod.F
===================================================================
--- trunk/LMDZ.MARS/libf/phymars/callradite_mod.F	(revision 3755)
+++ trunk/LMDZ.MARS/libf/phymars/callradite_mod.F	(revision 3756)
@@ -27,4 +27,5 @@
       use lwmain_mod, only: lwmain
       use swmain_mod, only: swmain
+      use suaer_mod, only: suaer
       use dust_param_mod, only: doubleq, active, submicron
       use callkeys_mod, only: water, activice, rdstorm, topflows,
Index: trunk/LMDZ.MARS/libf/phymars/suaer.F90
===================================================================
--- trunk/LMDZ.MARS/libf/phymars/suaer.F90	(revision 3755)
+++ trunk/LMDZ.MARS/libf/phymars/suaer.F90	(revision 3756)
@@ -1,2 +1,8 @@
+MODULE suaer_mod
+
+IMPLICIT NONE
+
+CONTAINS
+
 SUBROUTINE suaer
 use dimradmars_mod, only: longrefvis, longrefir, nsizemax, long1vis, &
@@ -15,4 +21,5 @@
 USE mod_phys_lmdz_transfert_para, ONLY: bcast
 use callkeys_mod, only: dustrefir
+use aerave_mod, only: aerave
 
 IMPLICIT NONE
@@ -568,4 +575,6 @@
 
 !==================================================================
-RETURN
-END
+
+END SUBROUTINE suaer
+
+END MODULE suaer_mod
