Jump to content

Module:ConvertSeasonPressure: Difference between revisions

From Shark's Hypothetical Weather
No edit summary
No edit summary
 
Line 2: Line 2:


function p.main(frame)
function p.main(frame)
     local args = frame.args
     local args = frame:getParent().args -- use template args


     -- First argument = pressure (mbar)
     -- First argument = pressure (mbar)
Line 10: Line 10:
     end
     end


     -- Settings
     -- Optional abbr flag
     local abbr = args['abbr'] or 'on'
     local abbr = args['abbr'] or 'on'


Line 16: Line 16:
     local inHg = pressure * 0.02953
     local inHg = pressure * 0.02953


     -- Format: mbar no decimals, inHg 2 decimals
     -- Format
     local formattedPressure = string.format("%d", pressure)
     local formattedPressure = string.format("%d", pressure)
     local formattedInHg = string.format("%.2f", inHg)
     local formattedInHg = string.format("%.2f", inHg)


    -- Build return string
     if abbr == 'on' then
     if abbr == 'on' then
         return formattedPressure ..
         return formattedPressure ..

Latest revision as of 19:37, 2 ⧼october⧽ 2025

Documentation for this module may be created at Module:ConvertSeasonPressure/doc

local p = {}

function p.main(frame)
    local args = frame:getParent().args -- use template args

    -- First argument = pressure (mbar)
    local pressure = tonumber(args[1])
    if not pressure then
        return "Error: Invalid or missing pressure value."
    end

    -- Optional abbr flag
    local abbr = args['abbr'] or 'on'

    -- Convert mbar → inHg
    local inHg = pressure * 0.02953

    -- Format
    local formattedPressure = string.format("%d", pressure)
    local formattedInHg = string.format("%.2f", inHg)

    if abbr == 'on' then
        return formattedPressure ..
            " [[wikipedia:Bar_(unit)|mbar]] " ..
            "([[wikipedia:Pascal_(unit)|hPa]]; " ..
            formattedInHg .. " [[wikipedia:Inch_of_mercury|inHg]])"
    else
        return formattedPressure ..
            " millibar (hectopascal; " ..
            formattedInHg .. " inches of mercury)"
    end
end

return p